使用text-overflow: ellipsis
,是否可以仅将省略号
- 设置为可点击
- 样式像超链接
如果可以,如何实现?
目标是当文本溢出时,省略号可以用来显示溢出的文本,并且用户明确知道省略号是可点击的。
.truncate {
width: 22px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
并将此类用于包含锚标记的 div 中:
<div class="truncate"><a href="http://www.facebook.com">Facebook</a></div>
这里有一个示例: http://jsfiddle.net/WaAL5/
更新的解决方案 : http://jsfiddle.net/WaAL5/1/
text-overflow
而不是复杂的锚点。 - Jayen<div class="truncate"><a href="Javascipt:">Some Link</a></div>
$(".truncate a").each( function() {
$this = $(this);
var linkWidth = $this.width();
var contWidth = $this.parent().width();
if (linkWidth >= contWidth) {
var linkDesc = $this.text();
$this.text('\u2026').addClass('ellipsis');
$this.parent().prepend(linkDesc);
}
});
.truncate {
width: 70px;
white-space: nowrap;
overflow: hidden;
position: relative;
}
.truncate a.ellipsis {
display: inline-block;
position: absolute;
right: 0px;
top: 0;
background: #FFF;
}
这种方法具有跨平台兼容性,而CSS省略属性则没有。
我仍然认为你想要实现的目标无法通过纯CSS实现,但这可能是一个更好的JQuery解决方案。
不要使用 text-overflow
。
<div class="truncate">Facebook</div><a href="http://www.facebook.com">...</a>
CSS:
.truncate {
display: inline-block;
width: 50px;
white-space: nowrap;
overflow: hidden;
}
text-overflow
是 CSS 属性,我相信它不是你想要实现的合适工具。 - BoltClock