在web开发过程中,常常会遇到要让布局中的某些文本根据宽度来显示,如果超过最大宽度仍然显示不完的,就显示为省略号的情况。可以通过程序截取,JS字符串截取。在css中可以通过text-overflow进行设置,但是这种效果只适用于单行显示的文本。
text-overflow语法
text-overflow: clip|ellipsis|string;
text-overflow取值
clip :不显示省略标记(...),而是简单的裁切。
ellipsis:当对象内文本溢出时显示省略标记(...),来代表被修剪的文本。
string:使用给定的字符串来代表被修剪的文本。
text-overflow说明
1、text-overflow属性仅是注解,当文本溢出时是否显示省略标记。并不具备其它的样式属性定义。要实现溢出时产生省略号的效果还须定义:强制文本在一行内显示(white-space:nowrap)及溢出内容为隐藏(overflow:hidden),也就是说 overflow: hidden; text-overflow:ellipsis;white-space:nowrap;一定要一起用,只有这样才能实现溢出文本显示省略号的效果。
2、一定要给容器定义宽度.
3、如果少了overflow: hidden;文字会横向撑到容器的外面
4、如果少了white-space:nowrap;文字会把容器的高度往下撑;即使你定义了高度,省略号也不会出现,多余的文字会被裁切掉
5、如果少了text-overflow:ellipsis;多余的文字会被裁切掉,就相当于你这样定义text-overflow:clip.
6、如果容器是table,当文字内容过多时,不换行,而是出现...
7、对应的脚本特性为 textOverflow 。 object.style.textOverflow="ellipsis"