首先,要知道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”;