본문 바로가기

CSS

white-space:nowrap text-overflow:ellipsis word-break:break-all overflow:hidden;

예)

.table_style02 table tbody td.fb {text-overflow:ellipsis;white-space:nowrap;word-break:break-all;overflow:hidden;}






white-space:nowrap; 

공백문자를 어떻게 할 것인지 설정.
(띄어쓰기나 줄바꿈, 탭으로 인한 공백 부분 등등) 
 
white-space:normal;
기본값. 연속 공백과 줄바꿈 등을 통합해서 표현 
(보통 띄어쓰기를 500번 하든지 줄바꿈을 하든지 결과는 띄어쓰기 한칸 인것처럼 적용됨)
 
white-space:pre;
normal과 반대. 원문 그대로 출력
 
white-space:nowrap;
스페이스바를 막 눌러서 들어가는 연속공백은 통합되지만 (normal의 효과)
줄바꿈은 인정함 (pre의 효과)
 
white-space:inherit;
부모요소의 값을 상속

 


 

word-break:break-all;

텍스트가 들어가는 블록요소의 가로 사이즈에 맞춰 줄바꿈 설정.  
강제줄바꿈 방지, 텍스트 길이제한 
 
word-break:normal;
기본값. 단어 단위로 끊어서 줄바꿈
 
word-break:break-all;
특수문자를 제외하고 강제로 줄바꿈 
 
word-break:break-word;
특수문자를 포함하고 강제 줄바꿈 
 
word-break:nowrap; 
줄바꿈 하지 않음 

word-break:keep-all; 
한글일 경우 띄어쓰기 기준으로 짤림
ie 계열 / 아시아 언어만 지원 (한글, 중국어, 일본어)

파폭 3.5 이상에서는 지원.

 

word-wrap 

텍스트가 들어가는 블록 요소의 사이즈에 따라 줄바꿈 해주는 코드.
 
word-wrap: break-word;
가로사이즈나 엘리먼트에 맞춰서 강제 줄바꿈 해준다. word-break:break-all; 과 같은 결과물
모든 브라우저 적용 가능
 

text-overflow:ellipsis;

텍스트가 넘칠때, 말줄임표( ... )가 나오게 하는 속성,
적용조건 white-space:nowrap;

 


 

text-overflow 
긴 문자열을 잘라주는 형태를 지정
 
text-overflow:clip;
엘리먼트의 테두리에 맞춰서 글자를 자른다.
 
text-overflow:ellipsis;
잘라지는 끝부분에 자동으로 '...'을 넣어준다.
ie6 이상에서만 지원 가능, 파폭은 안됨
width 값이 지정되어야 함 / 높이를 정해주거나 white-space-nowrap; 속성 사용해야 함. / <nobr> 사용
 


div에 글을 써넣으면 '\n'이 먹히지 않는다. 그리고 같은 글자가 반복되어서 나오면("+++++++++..." 같은것)
div영역을 뚫고 나가버린다. 이를 해결하기 위해서 CSS의 white-space와 word-break를 써야한다.

white-space
줄바꿈 해주는 property로 normal, nowrap, pre, pre-line, pre-wrap이 있다.

normal은 보통의 경우로 옵션을 주지 않아도 된다.
nowrap은 줄바꿈을 하지 않는다.(div를 뚫고 나간다.)
pre는 html의 <pre>태그처럼 내부의 태그를 실행시켜주지만 이역시 줄바꿈은 하지 않는다.
pre-line은 normal + pre. 줄바꿈도 해주고 태그도 실행한다.
pre-wrap는 pre-line과 비슷 하지만 pre-line은 연속되는 공간("     ")을 한칸으로 압축하지만
             pre-wrap는 압축하지 않고 그대로 보여준다.

word-break
한단어가 길게 이어질때 자동으로 잘라주는 property이다.

normal은 자르지 않는다.
break-all은 영역을 넘어가면 무조건 자른다.
hyphenate는 영역을 넘어가더라도 단어를 유지해준다.
keep-all은 한글일 경우 띄어쓰기 기준으로 자른다.(only IE)
현재 word-break는 5대 브라우저중 FF와 Opera만 지원하지 않는다.

word-wrap
normal은 자르지 않는다.
break-word는 단어단위로 자른다.

(CSS3를 지원하는) 모든 브라우저에서 단어별로 줄바꿈하고 반복되는 단어를 자르려면(한글 제외)
white-space: pre-wrap;
word-wrap: break-word;
옵션을 추가하면 된다.

 

 


 

 
white-space:nowrap;
셀 너비를 지정했다 하더라도 자동으로 줄바꿈이 되지않는다
예) <table><tr><td style="white-space:nowrap;">김태희 김태희 김태희 김태희 김태희<td></tr></table>
word-break:break-all;
하나의 문장을 띄어쓰기할 때 쓰인 공백 기준이 아닌 문자 단위로 끊어주는 역할을 하는 스타일 속성이다.
예) <table><tr><td style="word-break:break-all;">AAAAAAAAAAAAAAAAAAAAAAAA</td></tr></table>
word-break:keep-all;
word-break:break-all; 과 비슷하나 문자가 아닌 단어 단위로 끊어주는 역할을 하는 속성이다.
예) <table><tr><td style="word-break:keep-all;">김태희 김태희 김태희 김태희 김태희</td></tr></table>
nobr 사용해서 긴 문자열 자르기
<td><nobr style="text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:140px;">어쩌구 저쩌구 긴 글을 여기에 써요 하하하</nobr></td>


 

'CSS' 카테고리의 다른 글

ie6 dl dt 버그  (0) 2012.07.05
[IE6] PNG 투명배경 영역이 링크 잡히지 않는 문제  (0) 2012.06.26
원하는 영역만 프린트 하는 CSS  (0) 2012.06.15