我正在编写一个动态应用程序,遇到的一个问题是我有一些文本包含在一个div中,当div的大小太小无法容纳文本时,浏览器会表现得很奇怪。
有没有办法在CSS中使文本“截断”?任何无法适应的文本都将被删除。
使用 overflow: hidden
你尝试过使用overflow: hidden;
吗?
很遗憾,对于这个问题没有完全基于CSS的解决方案(在部分渲染文本不可见的情况下)。最接近的方法是使用CSS3属性text-overflow: ellipsis
,它将截断字符串并在末尾添加“...”。这种技术最大的缺点是Firefox目前不支持它,并且看起来在不久的将来也不会支持。然而,有一种替代方案,可以在Firefox上使用,虽然不够优雅。
更多信息:
W3C text-overflow规范(仍然是工作草案)
text-overflow的浏览器支持
跟踪Firefox对text-overflow的支持状态
/*ellipsis stuff*/
white-space: nowrap;
overflow: hidden;
text-transform: none;
text-overflow: ellipsis; /* IE 6+, FF 7+, Op 11+, Saf 1.3+, Chr 1+*/
-o-text-overflow: ellipsis; /* for Opera 9 & 10 */
-ms-text-overflow: ellipsis; /*IE 8*/