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。