多行文本溢出显示省略号(...)的方法
2014-12-08 13:43
330 查看
现在的浏览器都支持
Demo: http://jsfiddle.net/Cople/maB8f/
Demo: http://jsfiddle.net/Cople/ash5v/
Demo: http://jsfiddle.net/Cople/DrML4/5/
转载于:http://c7sky.com/text-overflow-ellipsis-on-multiline-text.html
text-overflow:ellipsis属性,用来实现单行文本的溢出显示省略号,但是这个属性并不支持多行文本。那么有没有方法在多行文本上实现同样的效果呢?
-webkit-line-clamp
Webkit支持一个名为-webkit-line-clamp的属性,他其实是一个WebKit-Specific Unsupported Property,也就是说这个属性并不是标准的一部分,可能是Webkit内部使用的,或者被弃用的属性。但是既然被人发现了,而且能用,为什么不试试呢~o(∩_∩)o
p { overflow : hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
Demo: http://jsfiddle.net/Cople/maB8f/
-o-ellipsis-lastline
从 Opera 10.60 开始,text-overflow属性有了一个名为-o-ellipsis-lastline的值。应用后的效果就像名字一样,在文本的最后一行加上省略号。这个方法比楼上的方法简单多了,可惜也不在标准之内//(ㄒoㄒ)//
p { overflow: hidden; white-space: normal; height: 3em; text-overflow: -o-ellipsis-lastline; }
Demo: http://jsfiddle.net/Cople/ash5v/
jQuery
除了各个浏览器私有的属性,有没有跨浏览器的解决方法呢?当然是通过js实现啦!(通过从后向前逐个删除末尾字符,直至元素的高度小于父元素高度)$(".figcaption").each(function(i){ var divH = $(this).height(); var $p = $("p", $(this)).eq(0); while ($p.outerHeight() > divH) { $p.text($p.text().replace(/(\s)*([a-zA-Z0-9]+|\W)(\.\.\.)?$/, "...")); }; });
Demo: http://jsfiddle.net/Cople/DrML4/5/
转载于:http://c7sky.com/text-overflow-ellipsis-on-multiline-text.html
相关文章推荐
- 多行文本溢出显示省略号(...)的方法
- 单行及多行文本溢出以省略号显示的方法总结
- 多行文本溢出显示省略号(...)的方法
- 多行文本溢出显示省略号(...)的方法
- 多行文本溢出显示省略号(...)的方法
- 单行文本和多行文本溢出以省略号显示方法
- 多行文本溢出显示省略号(...)的方法
- 多行文本溢出显示省略号(...)的方法整理
- 多行文本溢出显示省略号(...)的方法
- 四种方法实现单、多行文本溢出,显示省略号(…)的效果
- 4种方法实现单行、多行——文本溢出显示省略号
- 多行文本溢出显示省略号(...)的方法
- 溢出文本显示省略号的方法
- 多行文本溢出显示省略号(...)的方法
- CSS 单行溢出文本显示省略号...的方法(兼容IE FF)(转)
- (轉)CSS 单行溢出文本显示省略号...的方法(兼容IE FF)
- CSS基础:text-overflow:ellipsis溢出文本显示省略号的详细方法_CSS教程
- CSS 单行溢出文本显示省略号...的方法(兼容IE FF)(转)
- CSS 单行溢出文本显示省略号...的方法(兼容IE FF)(转)
- 多行文本溢出显示省略号...