티스토리 툴바

KiNGDOM
카이(KAi)'s Blog - God's in his heaven, All right with the world.

[원출처] text-overflow: ellipsis for firefox
http://www.rikkertkoppes.com/thoughts/2008/6/


제목이나 내용이 긴 경우 뒷부분을 잘라서 말줄임표 ... 로 표시하는걸, PHP 나 자바스크립트로 잘라서 하다가 이제는 CSS text-overflow 를 이용하는 경우가 많습니다. text-overflow 속성의 자르기(clip) 와 말줄임표(ellipsis) 중 ellipsis 를 사용해서 문자열을 잘라낼 수 있습니다.
이 속성을 사용하기 위해서는 overflow 와 white-space 를 아래처럼 지정해 주어야 합니다.

.ellipsis {
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

인터넷 익스플로러(Internet Explorer, IE) 에서는 지원을 하지만, 파이어폭스(FireFox)는 text-oveflow 에 ellipsis 값을 줘도 clip 처럼 작동합니다. FireFox 에서 말줄임표(ellipsis)를 넣으려면 XUL description 요소를 이용해서 할 수 있습니다. CSS 에서 XBL 바인딩을 지원하기 때문이 이를 통해 XML 을 호출하게 됩니다. 자세한 코드는 아래와 같습니다.

  1. 아래 코드를 ellipsis.xml 파일로 저장합니다.

    <?xml version="1.0"?>
    <bindings 
        xmlns="http://www.mozilla.org/xbl" 
        xmlns:xbl="http://www.mozilla.org/xbl" 
        xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 
    >
        <binding id="ellipsis">
            <content>
                <xul:description crop="end" xbl:inherits="value=xbl:text">
                    <children/>
                </xul:description>
            </content>
        </binding>
    </bindings>
  2. CSS 에서 사용시 아래처럼 -moz-binding 을 통해 XBL 바인딩을 호출 할 수 있습니다.
    .ellipsis {
        text-overflow: ellipsis;
        -moz-binding: url('ellipsis.xml#ellipsis');
    }

XUL:description 을 간단히 설명하면, crop 속성을 통해 잘라낼 문자열의 위치를 지정하고, inherits 속성으로 value 값에 문자열을 지정합니다. crop 값을 만약 start 나 left 로 지정하게되면 첫부분이 잘라져서 나오겠죠.


- 참고 내용

저작자 표시 비영리 동일 조건 변경 허락

TRACKBACK :: http://kais.tistory.com/trackback/96 관련글 쓰기

  1. [CSS] text-overflow:ellipsis 를 FireFox 에서 사용하기

    Trackback from 푸땡 2008/12/08 21:07  삭제

    [원출처] text-overflow: ellipsis for firefox http://www.rikkertkoppes.com/thoughts/2008/6/ ...

  2. [펌] [CSS] text-overflow:ellipsis 를 FireFox 에서 사용하기

    Trackback from tornado 의 블로그 2010/08/06 17:17  삭제

    [출처] http://kais.tistory.com/96 제목이나 내용이 긴 경우 뒷부분을 잘라서 말줄임표 ... 로 표시하는걸, PHP 나 자바스크립트로 잘라서 하다가 이제는 CSS text-overflow 를 이용하는 경우가 많습니다. text-overflow 속성의 자르기(clip) 와 말줄임표(ellipsis) 중 ellipsis 를 사용해서 문자열을 잘라낼 수 있습니다. 이 속성을 사용하기 위해서는 overflow 와 white-space..

댓글을 달아 주세요

  1. jhyou  댓글주소  수정/삭제  댓글쓰기

    a tag를 넣으면 동작을 안하네요~~ 이유를 아시나요???

    2009/01/11 16:33
    • Favicon of http://kais.tistory.com BlogIcon 카이(KAi)  댓글주소  수정/삭제

      문자열 중에 테그가 있을 경우 테그는 삭제되고 표시될 겁니다.
      XUL 에서 넘겨 받을때 text 로 문자열만 받기 때문에 하위 객체들은 아마 삭제되버리는 것 같습니다.
      출력시 PHP 에서 테그만 삭제하고 출력하는 것으로 해결이 가능합니다.

      2009/01/18 18:04
  2. Favicon of http://qkrrjsgh.tistory.com BlogIcon 건호형  댓글주소  수정/삭제  댓글쓰기

    파폭에 그냥써도 동작하네요 11.0 버전입니다

    2012/04/11 17:08

RSS Feed

카테고리

분류 전체보기 (151)
게임 정보 (32)
보안 정보 (22)
오류 정보 (1)
유용한 정보 (5)
디지털 라이프 :D (28)
문화 생활 :) (14)
프로그래밍-프로젝트 (4)
프로그래밍-ActionScript (10)
프로그래밍-JavaScript (9)
프로그래밍-PHP (12)
프로그래밍-CSS (5)
프로그래밍-개발환경 (5)
스크랩 (2)

달력

«   2012/05   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31