CSS单行和多行文本实现
- 1、CSS实现单行文本的溢出显示...
- 2、实现多行文本溢出显示
1、CSS实现单行文本的溢出显示…
给出效果如下:
代码如下所示:
overflow: hidden; text-overflow:ellipsis; white-space: nowrap; /*还需要增加宽度实现兼容浏览器*/
复制
2、实现多行文本溢出显示
给出效果如下:
代码展示如下:
display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;
复制
注意:使用范围,由于使用了
webkit
的CSS拓展属性,因此该方法属性可以适用于webkit
的浏览器和移动端。
注意:
-webkit-line-clamp
用来限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他的WebKit属性。display: -webkit-box;
必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。-webkit-box-orient
必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。
给出的效果如下:
实现代码如下:
div { position: relative; line-height: 20px; max-height: 40px; overflow: hidden; } div:after { content: "..."; position: absolute; bottom: 0; right: 0; padding-left: 40px; background: -webkit-linear-gradient(left, transparent, #fff 55%); background: -o-linear-gradient(right, transparent, #fff 55%); background: -moz-linear-gradient(right, transparent, #fff 55%); background: linear-gradient(to right, transparent, #fff 55%); }
复制
注意:
- height设置为
line-height
的整数倍,可以防止超出的文字流出。 - 给
p::after
添加渐变色背景,可以避免文字内容只显示一半。 - 由于IE浏览器不显示content内容,因此需要添加标签兼容IE6-7例如(
<span>...</span>
)兼容IE8需要把p::after
替换为after。