目录
1、单行文本溢出
如果解决文本溢出显示省略号,需要满足的三个条件:
-
先强制一行内显示文本
csswhite-space:nowrap;/*默认normal 自动换行*/
-
超出的文本隐藏起来。
cssoverflow:hidden;
-
文本省略部分替代超出的部分
csstext-overflow:ellipsis; /*默认是clip 超出部分直接切除*/
2、多行文本溢出
1、基于高度截断
对于多行文本的溢出显示省略号,可以使用display属性配合-webkit-line-clamp和-webkit-box-orient来实现。
步骤如下:
-
首先,将需要显示省略号的元素设置为块级元素,并且固定高度。
-
接着,使用-webkit-box-orient属性将元素内部的子元素按照垂直方向排列。
-
然后,使用-webkit-line-clamp属性限制元素内部的文本行数。
-
最后,使用text-overflow属性将超出元素高度的文本内容显示为省略号
代码展示
css
.ellipsis {
/*将元素内部的子元素按照垂直方向排列*/
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
height: 60px;/*设置盒子高度*/
max-height: 60px; /* 或者根据需要设置最大高度 */
-webkit-line-clamp: 3;限制元素内部的文本行数。
text-overflow: ellipsis;将超出元素高度的文本内容显示为省略号
}
2、基于行数截断
步骤
-webkit-line-clamp: 2:用来限制在一个块元素显示的文本的行数,为了实现该效果,它需要组合其他的WebKit属性)
display: -webkit-box:和1结合使用,将对象作为弹性伸缩盒子模型显示
-webkit-box-orient: vertical:和1结合使用 ,设置或检索伸缩盒对象的子元素的排列方式
overflow: hidden:文本溢出限定的宽度就隐藏内容
text-overflow: ellipsis:多行文本的情况下,用省略号"..."隐藏溢出范围的文本
代码展示
css
<style>
p {
width: 400px;
border-radius: 1px solid red;
-webkit-line-clamp: 2;
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
<p>这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本
这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本
</p >