[CSS] 말줄임표(…) 한줄, 두줄에 적용하기

한 줄 말줄임표

.line {
   white-space: nowrap; 	/* 텍스트가 줄바꿈 되지 않도록 함 */
   overflow: hidden; 		/* 초과된 텍스트를 감추기 위해 오버플로우를 숨김 */
   text-overflow: ellipsis;     /* 말줄임표 표시 */
}

두 줄(여러줄) 말줄임표

.line2 {
   display: -webkit-box;
   -webkit-box-orient: vertical;   /* 수직정렬 */
   -webkit-line-clamp: 2;          /* 두 줄로 제한 */
   overflow: hidden;
   text-overflow: ellipsis; 
}

주의사항

한 줄 말줄임표는 왼만한 브라우저에서 모두 지원하고 있는 속성들을 사용합니다.
다만 두 줄 이상의 말줄임표에서는 조금 복잡합니다.
prefix로만 지원되고 있는 -webkit-box, -webkit-box-orient, -webkit-line-clamp는 모든 브라우저에 대한 호환성을 보장하고 있지 않기 때문입니다. 그래서 호환성을 위해 flex속성을 주고 기본 정렬을 넣어 주는것이 일반적인 것 같습니다.

말줄임표의 원리는 기본적으로 요소의 영역을 넘어간 것을 안보이게 overflow를 hidden으로 걸어주고 text-overflow 속성으로 말줄임표를 넣어주는 원리입니다. 마크업에 있는 실제 텍스트가 정말로 가공되는 것이 아니기 때문에 padding같은 영역을 확장하는 속성이 있으면 글자가 보여버리니 주의해야 겠습니다.

말줄임표가 적용되었지만 이어지는 글자도 보이는 경우

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다