文字超出显示省略号最全攻略

单行文本溢出省略

1
2
3
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;

优点:

  1. 无兼容问题
  2. 响应式截断
  3. 文本溢出范围才显示省略号,否则不显示省略号

缺点:

  1. 只支持单行文本截断

适用场景:

  1. 适用于单行文本溢出显示省略号的情况

多行文本溢出省略

1
2
3
4
5
6
7
8
9
10
-webkit-line-clamp: 2;
/* (用来限制在一个块元素显示的文本的行数,2表示最多显示2行。 为了实现该效果,它需要组合其他的WebKit属性) */
display: -webkit-box;
/* (和1结合使用,将对象作为弹性伸缩盒子模型显示 ) */
-webkit-box-orient: vertical;
/* (和1结合使用 ,设置或检索伸缩盒对象的子元素的排列方式 ) */
overflow: hidden;
/* (文本溢出限定的宽度就隐藏内容) */
text-overflow: ellipsis;
/* (多行文本的情况下,用省略号“…”隐藏溢出范围的文本) */

查看示例

优点:

  1. 响应式截断
  2. 文本溢出范围才显示省略号,否则不显示省略号

缺点:

  1. 兼容性一般: -webkit-line-clamp 属性只有 WebKit 内核的浏览器才支持

适用场景:

  1. 多适用于移动端页面,因为移动设备浏览器更多是基于 WebKit 内核

flex布局下超出显示省略号

方案1:min-width: 0

页面布局

1
2
3
4
5
6
7
8
9
<div class="father">
<div class="son">1</div>
<div class="son">
<div class="text">
这里是你想要超过长度显示省略号的一段文字这里是你想要超过长度显示省略号的一段文字这里是你想要超过长度显示省略号的一段文字
</div>
</div>
<div class="son">3</div>
</div>

css样式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
.father {
width: 500px;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}

.son {
flex: 1;
height: 50px;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}

.son:nth-child(2) {
min-width: 0;
}

.text {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}

文字超出显示省略号最全攻略
https://xypecho.github.io/2020/08/05/文字超出显示省略号最全攻略/
作者
很青的青蛙
发布于
2020年8月5日
许可协议