如果实现单行文本的溢出显示省略号我们应该都知道用 text-overflow:ellipsis 属性, 那么该如何实现多行文字隐藏呢? 下面我们来看一下 CSS 控制多行文字超出隐藏加省略号, 例如二行, 三行文字超出隐藏加省略号.
多行文本溢出隐藏在前端是很常见的需求, 例如文章的标题过长, 需要超出两行后隐藏, 显示省略号 (...).
解决方案
html:
<div class="title">
这是文章的标题, 它有点长.
这是文章的标题, 它有点长.
这是文章的标题, 它有点长.
这是文章的标题, 它有点长.
这是文章的标题, 它有点长.
这是文章的标题, 它有点长.
这是文章的标题, 它有点长.
</div>
CSS:
- .title{
- overflow: hidden;
- text-overflow: ellipsis;
- display: -webkit-box;
- -webkit-line-clamp: 2;
- -webkit-box-orient: vertical;
- }
效果如下:
-webkit-line-clamp 属性:
语法:
-webkit-line-clamp:<number>
限制在一个块元素显示的文本的行数.
-webkit-line-clamp 是一个 不规范的属性 (unsupported WebKit property), 它没有出现在 CSS 规范草案中.
为了实现该效果, 它需要组合其他外来的 WebKit 属性. 常见结合属性:
display: -webkit-box; 必须结合的属性 , 将对象作为弹性伸缩盒子模型显示 .-webkit-box-orient 必须结合的属性 , 设置或检索伸缩盒对象的子元素的排列方式 .text-overflow, 可以用来多行文本的情况下, 用省略号 "..." 隐藏超出范围的文本 .
推荐: CSS 手册 https://www.html.cn/book/css/
来源: http://www.css88.com/qa/css3/13856.html