单行文本
如果只是text-overflow:ellipsis是没有效果的,即使给它添加一些宽高来限制
代码:
效果:
这时需要添加:
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
代码:
效果:
多行文本
代码如下:
注:宽高需要根据实际调节
效果:
上面使用的是WebKit的CSS扩展属性,该方法适用于WebKit浏览器及移动端;
注:
-webkit-line-clamp用来限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他的WebKit属性。常见结合属性:
display: -webkit-box; 必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。
-webkit-box-orient 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。
这个方法兼容性不是很好,需要结合js来优化使用效果,如:
将height设置为line-height的整数倍,防止超出的文字露出。
给p::after添加渐变背景可避免文字只显示一半。