日期:2014-05-17  浏览次数:20862 次

使用CSS处理文本溢出时显示省略号

在多数情况下要显示文本信息多时就需要显示省略号,CSS里有这个处理,使用方便:

?

语法:
text-overflow : clip | ellipsis
取值:
clip :  默认值。不显示省略标记(...),而是简单的裁切
ellipsis :  当对象内文本溢出时显示省略标记(...)
说明:
设置或检索是否使用一个省略标记(...)标示对象内文本的溢出。
这个属性仅仅作用于水平内联方向的,普通的西方文本的溢出。内联溢出发生在行内的文本超出可用宽度却没有换行机会的时候。
要强制溢出发生并且应用 ellipsis 值,作者必须设置对象的 white-space 属性值为 nowrap
假如没有换行机会(例如,对象容器的宽度是狭窄的,而内有很长的没有合理断行的文本),没有应用 nowrap 也有可能溢出。
为了使 ellipsis 值被应用,此属性必须被设置到具有不可视区域的对象。最好的选择是设置 overflow 属性为 hidden 。设置 overflow 属性为 scroll 或者 auto 时,此属性也会应用。但是会有滚动条出现。
通过选择省略标记,隐藏的文本可以被选择。当选择发生时,省略标记会隐藏而被文本替换。
此属性为在DHTML中制作省略标记提供了高效的方法。
此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。
对应的脚本特性为 textOverflow
示例:
div { overflow: hidden; text-overflow:ellipsis; }?


需要注意的是这个在table td里时不起作用的。 可以在td里面加个div就可以做到了。

<td>
  <div title="${news.title}">●&nbsp;&nbsp;&nbsp;<a   href="detail/${news.id}">${news.title}</a></div>
</td>

<style>
table td div {
	width: 350px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
</style>
?