多行文本溢出显示省略号(…) text-overflow: ellipsis

text-overflow 属性规定当文本溢出包含元素时发生的事情。

默认值:  clip
继承性:  no
版本:  CSS3
JavaScript 语法:  object .style.textOverflow="ellipsis"
语法: text-overflow: clip|ellipsis| string ;

然而,text-overflow:ellipsis; 不可独立使用,必须结合overflow:hidden;  white-space:nowrap;才生效。但是而white-space:nowrap; 是指不换行,就是说只能一行显示。如果我们想要实现多行的情况下,在最后一行的最后用“…”来表示,则可以:

p{
width:200px;
height: 32px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
font-size: 14px
}

这里用了一个不是很常见的属性 -webkit-line-clamp

在WebKit浏览器或移动端(绝大部分是WebKit内核的浏览器)的页面实现比较简单,可以直接使用WebKit的CSS扩展属性(WebKit是私有属性) -webkit-line-clamp ;注意:这是一个 不规范的属性( unsupported WebKit property ),它没有出现在 CSS 规范草案中。

-webkit-line-clamp 用来限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他的WebKit属性。 常见结合属性:
1,display: -webkit-box; 必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。
2,-webkit-box-orient 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。
3,text-overflow: ellipsis; ,可以用来多行文本的情况下,用省略号“…”隐藏超出范围的文本 。

发表评论