CSS에서 ellipsis(‘…’)를 처리하는 방법

이번에 ellipsis에 대해 정리해 보도록 하겠습니다.
보통 게시판 리스트의 제목부분이 길어질 경우 php나 jsp등의 프로그램단에서 일정 글자수 이상이 되는 것에 대해 ‘…’으로 마무리 하는 경우가 많은데요..
이것을 프로그램이 아닌 CSS만 가지고도 처리할 수 가 있습니다.

tistory-image

한줄라인 글자수 제한

한줄 라인 글자수 를 제한하는 방법은 아래와 같습니다.

 <div class="txt_line">통영의 신흥보물 강구안의 동쪽벼랑인 동피랑의 벽화마을을 다녀왔다</div>
 .txt_line {
      width:70px;
      padding:0 5px;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
  }
  • Block레벨 테그에서만 적용됨.
  • overflow:hidden : 넓이가 70px를 넒어서는 내용에 대해서는 보이지 않게 처리함
  • text-overflow:ellipsis : 글자가 넓이 70px를 넘을 경우 생략부호를 표시함
  • white-space:nowrap : 공백문자가 있는 경우 줄바꿈하지 않고 한줄로 나오게 처리함 (\A로 줄바꿈가능)

멀티라인 글자수 제한

멀티라인에 대해서 글자수를 제한하는 방법은 아래와 같습니다.

<p class="txt_post">통영의 신흥보물 강구안의 동쪽벼랑인 동피랑의 벽화마을을 다녀왔다.&nbsp;  비도 추적추적 내리고 일정상 늦으막해서 그런지 사람이 많지는 않았다. 덕분에 보통때는 한참을 기다려야 겨우 날개달린 사진을 찍을 수 있었을 텐데, 이번에는 바로 천사날개를 달고 사진을 찍을 수 있는 행운까지 얻었다.  이번이 동피랑 벽화마을 방문 3번째인데 예전에 왔을때에 비해서 벽화가 많이 바뀌어 있었다</p>
 .txt_post {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3; /* 라인수 */
    -webkit-box-orient: vertical;
    word-wrap:break-word; 
    line-height: 1.2em;
    height: 3.6em; /* line-height 가 1.2em 이고 3라인을 자르기 때문에 height는 1.2em * 3 = 3.6em */
  }

SASS를 사용한다면 아래와 같이 @mixin으로 등록해 놓고 불러와서 사용 하면 됩니다.

// 멀티라인 말줄임 표시
// $line-cnt : 라인 수
// $line-height : line-height값
// 사용법 : @include ellipsis(3, 1.6em);
@mixin ellipsis($line-cnt, $line-height) {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: $line-cnt; /* 라인수 */
    -webkit-box-orient: vertical;
    word-wrap:break-word; 
    line-height: $line-height;
    height: $line-height * $line-cnt; /* line-height 가 1.2em 이고 3라인을 자르기 때문에 height는 1.2em * 3 = 3.6em */
}
.ellipsis-3 {
    @include ellipsis(3, 1.3em); 
}

Similar Posts

  • 스마트폰으로 시놀로지 OpenVPN 서버 접속하기

    스마트폰으로 시놀로지 VPN 서버에 접속하는 방법은 이전에 포스팅을 헀으니 참고하세요. 스마트폰으로 시놀로지 VPN 서버에 접속하기 이번에는 OpenVPN으로 접속하는 방법입니다. 이전 포스팅에 시놀로지에 OpenVPN 서버를 설정하는 방법도 포스팅을 했으니 참고하세요. 시놀로지 VPN 서버와 VPN PLUS은 무엇이 다른것인가 스마트폰으로 시놀로지 OpenVPN 추가하기 OpenVPN은 오픈소스라 무료로 사용할 수 있고 현재 많은 VPN 업체에서도 사용하고있는프로토콜입니다. 비교적 안전하고 속도도 괜찮은 […]

  • 맥북에서 한글전환 버튼의 위치 변경하기

    윈도우를 사용하다가 맥북으로 넘어간 경우 키보드의 배열이 여간 성가신 일이 아닙니다. 그중에서도 한/영 전환키가 정말 성가신대요. 윈도우의 경우 한/영 전환키가 스페이스바 오른쪽에 있지만 맥북은 한/영 전환키가 왼쪽 Tab버튼 위치나 Option + 스페이스바로 전환을 합니다. 그래서 윈도우의 키보드에 익숙한 사람은 무의식 중에 한영을 전환 할 때 스페이스바 오른쪽에 있는 Command버튼을 누르게 되고 짜증이 유발됩니다. 앞으로 줄곧 […]

  • 스크롤에 따라 배경이미지의 시차가 다르게 움직이는 Parallax_ImageScroll

    홈페이지를 보게되면 화면을 스크롤 할 때 배경의 이미지가 스크롤에 비해 더 조금씩 움직임으로써 역동적으로 보이게 하는 기술을 볼 수 있습니다. 이것을 Parallax(시차)라는 이름으로 많이 사용되고 있는데.. jQuery의 플러그인으로 구현된 것이 있어 소개합니다. **홈페이지 : ** [https://github.com/pederan/Parallax-ImageScroll](https://github.com/pederan/Parallax-ImageScroll) **DEMO : ** [http://codepen.io/pederan/full/Hheuy](http://codepen.io/pederan/full/Hheuy) **라이선스 : ** MIT Install bower로 설치할 경우 bower install Parallax-ImageScroll npm으로 설치할 경우 npm […]

  • 시놀로지 도커로 몽고 익스프레스(mongo-express) 설치하기

    이전 포스팅에서 도커로 몽고DB를 설치해 봤습니다. 시놀로지 도커로 몽고DB 설치하는 방법 바로가기 몽고DB는 설치가 되었으나 이 DB만으로는 CLI외에 Database를 볼 수는 없습니다. 이 몽고DB를 보기위한 방법 중 하나는 Mongo-express를 이용하는 방법입니다. Mongo-express는 phpMyAdmin처럼 웹브라우저로 몽고DB를 볼 수 있습니다. 이 Mong-express를 시놀로지 도커로 설치해 보겠습니다. Mongo-express 도커 설치하기 먼저 시놀로지 DSM에서 도커를 엽니다. 레지스트리 메뉴를 선택합니다. […]

  • 아이콘 폰트(Icon font) 자유자제로 사용하기

    웹사이트를 제작 시 생동감 있는 사이트를 만들기 위해서는 아이콘은 필수로 들어가는 요소입니다. 간단하게는 블릿에서 부터 중요하게는 웹사이트의 매인 이미지 까지도 아이콘으로 사용하는 경우가 있는데 예전에는 이러한 아이콘들을 디자이너에게 만들어 달라고 요청을 하던지 아니면 웹에서 무료로 제공하는 아이콘 이미지들을 찾아서 잘라서 적용하고는 했었는데요. 근래에는 오픈소스가 발달하면서 이러한 아이콘들을 쉽고 편하게 사용할 수 있게 제공해 주는 다양한 […]

  • CSS3의 선택자 정리

    Front-end개발을 한다고 하면서 CSS3를 사용하는데.. 주로 사용하는 선택자들은 쉽게 사용하는데.. 많이 사용하지 않는 선택자에 대해서는 가끔씩 잊어버리거나 사용법을 잊어버리는 경우가 있습니다. 그래서 항상 참조할 수 있게 간단히 정리를 해 보려고 합니다. 선택자는 크게 기본 선택자, 속성 선택자, 상태 선택자로 나눌수 있습니다. 기본 선택자 CSS3를 다루기 위해서는 반드시 알아야 하는 선택자 입니다. 서식 설명 CSS레벨 * […]

답글 남기기

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