首先,要知道css的三条属性。
overflow:hidden; //超出的文本隐藏
text-overflow:ellipsis; //溢出用省略号显示
white-space:nowrap; //溢出不换行
这三个是css的基础属性,需要记得。
但是第三条属性,只能显示一行,不能用在这里,那么如何显示多行呢?
css3解决了这个问题,解决方法如下:
display:-webkit-box; //将对象作为弹性伸缩盒子模型显示。
-webkit-box-orient:vertical; //从上到下垂直排列子元素(设置伸缩盒子的子元素排列方式)
-webkit-line-clamp:2; //这个属性不是css的规范属性,需要组合上面两个属性,表示显示的行数。
最后的css样式如下:
overflow:hidden;
text-overflow:ellipsis;
display:-webkit-box;
-webkit-box-orient:vertical;
-webkit-line-clamp:2;
需要注意的是有些项目是使用less的,会发现但在less中添加这些时并没有生效,依然是显示多行
原因是:
-webkit-line-clamp: 2;
在.less文件中不生效,所以我们解决办法是创建一个.css文件存放
base.css文件存放如下样式
.line-clamp{ overflow: hidden; text-overflow: ellipsis; word-break: break-all; display: -webkit-box; -webkit-line-clamp: 2; /*限制在一个块元素显示的文本的行数*/ -webkit-box-orient: vertical; }
并在main.less文件中引入该.css文件
@import "common/reset"; @import "common/common"; @import "common/header"; @import "common/nav"; @import "common/footer"; @import "common/block-title"; @import "../css/base.css"; @import "home/index"; @import "home/index-popular-team"; @import "home/index-popular-player";然后在你的html中引入line-clamp就可以了。