在某些段落中,页面要求文字只显示一行,但是width
固定,而文字过长,就会出现一个需求,超过长度限制的文字被隐藏且显示省略号,css 支持这样的属性。
单行文本溢出隐藏
div{
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
多行文本溢出隐藏
div {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
}
简单的几行代码就可以达到我们的要求。
但是有一个我们需要注意的地方!!
flex 布局是前端写代码经常使用的一种布局方式,简单便捷且有效,但是在使用 flex 布局的元素中不能同时使用文字溢出隐藏,也就是两者不能同时出现在同一标签中。
这里,我们也有对应的解决办法。
只要保证 flex 布局和隐藏的样式不在同级元素中就可以,所以在文字外部多包裹一层标签。
可以采用下面这段代码的写法;
<p>
<!-- 我们在这一层的标签进行flex布局 -->
<span> <!-- 这一层的标签我们引入文字过长隐藏的样式 -->
<!-- 文本 -->
</span>
</p>