묻고답하기
줄 수를 판단해서 제한할 수 있을까요?
2014.06.05 10:39
음.. 리스트에서 getSummary()를 사용하여 요약글(?)을 출력하고 있습니다.
현재는 그냥 글자수 제한을 걸어서 사용하고 있긴한데...
혹시 해당 텍스트의 줄(?)을 기준으로 제한할 수 있을까요?
예를 들어 3줄까지만 나오게 한다던지...
php로는.. 아마 안될 것 같고..
(왜냐면 줄바꿈 없이 길게 쭉~~ 작성하면 자동으로 줄바꿈이 되는데 이걸 판단 할 수 가 없을 것 같음..)
아마 자바로... 구현이 가능할지... (의문)
단순히 <br/>로 판단하기에는.. 앞서 말씀드렸다시피... 줄바꿈없이 길 게 쓸 경우에는 그냥 한줄로 오해할 수 있기 때문에....
단순히 글자수를 계산해서 해당 페이지에 총 뿌려지는 글자수를 직접 체크한 후에 해당 글자수만큼 뿌리고 자동 <br/>을 붙여서 <br/>의 수를 카운팅해서 하는 방법은.. 가능하겠지만
가변형 사이트에는 적합하지 않는 문제로.. 현재 PASS하고 있습니다.
댓글 3
-
애니즌
2014.06.05 11:31
네 말씀하신 것처럼 현재는 그렇게 적용되어 있지만.. 욕심이란 게 생겨서 혹시 다른 방법이 있지 않을까 했습니다.
한번 머리를 부여잡고 고민 좀 해야겠네요 ㅎㅎ
-
prologos
2014.06.05 13:28
html:
123<
div
id
=
'container'
>
<
span
id
=
'text'
>TEXT: 123456789012345678901234567890</
span
>
</
div
>
css:
123456#container {
width
:
200px
;
height
:
60px
;
line-height
:
20px
;
position
:
relative
;
}
jquery:
123456789101112var
$container = $(
'#container'
);
var
$text = $(
'#text'
);
var
originalText = $text.text();
var
temp = originalText;
if
($container.outerHeight() < $text.outerHeight()) {
while
($container.outerHeight() < $text.outerHeight()) {
$text.text(temp = temp.substr(0, temp.length-1));
}
$text.text(temp = temp.substr(0, temp.length-3));
$text.append(
'...'
);
}
이런식으로 구성해서 자르지않은#text를 우선 출력하고 script에서#container의 height와 line-height를 이용해서 height를 벗어나는(위의 예에서는 4번째 라인부터 해당) 라인은 잘라버리는 방법도 가능하겠지만...
overflow:hidden과 차이가 있을까요??
height 를 강제로 지정하고, overflow:hidden 처리하는 방법으로 하셔야할겁니다.