单行显示
不设置属性
文字超出会向下换行排版,如下效果:
代码展示:
html:
<div class="test">省略号省略号省略号省略号省略号省略号省略号省略号省略号省略号省略号省略号省略号省略号</div>
css:
.test{
width: 200px;
background: #ccc;
}
设置属性
如果实现单行文本的溢出显示省略号同学们应该都知道用text-overflow:ellipsis属性来,当然还需要加宽度width属来兼容部分浏览。如下效果:
代码展示:
html:
<div class="test">省略号省略号省略号省略号省略号省略号省略号省略号省略号省略号省略号省略号省略号省略号</div>
css:
.test{
width: 200px;
background: #ccc;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
}
多行显示
但是上面属性只支持单行文本的溢出显示省略号,如果我们要实现多行文本溢出显示省略号呢。如下效果:
代码展示:
html:
<div class="test">省略号省略号省略号省略号省略号省略号省略号省略号省略号省略号省略号省略号省略号省略号</div>
css:
.test{
width: 200px;
background: #ccc;
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: 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。