一般我们看到的比如新闻列表,为了使文字不回行,控制字数,会通过程序让多余的字符显示省略号,我们只使用CSS可以达到同样的效果,虽然不完美。
代码如下 | 复制代码 |
li { width:50px; white-space:nowrap; text-overflow:ellipsis; overflow: hidden; } |
首先是一个容器,可以是div,li,td等等,先定义宽度,“white-space:nowrap”是强制在一行内显示所有文本,不回行。“text-overflow:ellipsis”就是关键了。
text-overflow是CSS3新增的属性,IE6以上版本支持。它可以带2个参数:clip [不显示省略标记(...),而是简单的裁切],ellipsis[当对象内文本溢出时显示省略标记(...)]。所以,这个方法是不支持Firefox的。因此,我们还要加上一句overflow: hidden,让多余文字在ff中隐藏。
虽然打到了效果,但是因为用程序控制这种效果也很方便,而且没有浏览器兼容性的问题,所以用CSS控制的方法就显得鸡肋了。