업데이트 : text-overflow: ellipsis
이제 지원됩니다 Firefox 7 (2011 년 9 월 27 일 릴리스)부터 됩니다. 예이! 내 원래의 대답은 역사적 기록입니다.
Justin Maxwell은 크로스 브라우저 CSS 솔루션을 보유하고 있습니다. 그러나 Firefox에서 텍스트를 선택할 수 없다는 단점이 있습니다. 이것이 작동하는 방법에 대한 자세한 내용은 Matt Snider의 블로그에서 게스트 게시물을 확인하십시오 .
이 기술은 또한 innerHTML
Firefox 의 특성을 사용하여 JavaScript에서 노드의 컨텐츠를 업데이트하지 못하게합니다 . 해결 방법은이 게시물의 끝 부분을 참조하십시오.
CSS
.ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
-moz-binding: url('assets/xml/ellipsis.xml#ellipsis');
}
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:window>
<xul:description crop="end" xbl:inherits="value=xbl:text"><children/></xul:description>
</xul:window>
</content>
</binding>
</bindings>
노드 컨텐츠 업데이트
Firefox에서 작동하는 방식으로 노드의 컨텐츠를 업데이트하려면 다음을 사용하십시오.
var replaceEllipsis(node, content) {
node.innerHTML = content;
// use your favorite framework to detect the gecko browser
if (YAHOO.env.ua.gecko) {
var pnode = node.parentNode,
newNode = node.cloneNode(true);
pnode.replaceChild(newNode, node);
}
};
작동 방식에 대한 설명은 Matt Snider의 게시물을 참조하십시오 .