不少时候都会遇到有字数控制的需求。好比不超过两行就所有显示,超过两行就把多余的字隐藏并显示省略号。利用-webkit-line-clamp属性能够很简单的实现这个需求。css
限制在一个块元素显示的文本的行数。
-webkit-line-clamp 是一个 不规范的属性(unsupported WebKit property),它没有出如今 CSS 规范草案中。为了实现该效果,它须要组合其余外来的WebKit属性。常见结合属性:vue
display: -webkit-box;
必须结合的属性 将对象做为弹性伸缩盒子模型显示 。-webkit-box-orient
必须结合的属性 设置或检索伸缩盒对象的子元素的排列方式 。text-overflow
能够用来在多行文本的状况下,设定超出范围的文本的隐藏方式。如text-overflow:ellipsis
就是用省略号“...”隐藏超出范围的文本。webpack
当标签内是英文字符的时候你就会发现样式失效了。英文是不会自动换行的,因此添加以下属性以兼容英文字符。web
word-wrap:break-word; word-break:break-all;
我在vue文件中的style区域写了以下的less代码,可是当我启动项目到chrome浏览器查看效果的时候,却发现失踪了一行代码: -webkit-box-orient: vertical;
。致使我样式失效...chrome
.linecamp{ overflow : hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; word-wrap:break-word; word-break:break-all; }
linecamp
。代码出现~问题消失~