文本溢出显示省略号之css

Posted 杨晓风-linda

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文本溢出显示省略号之css相关的知识,希望对你有一定的参考价值。

导语

积少成多,聚沙成塔,不断汲取经验,增长自身

需求

在有限的空间内,商品卡片标题一般会提出当文本溢出时显示省略号,而溢出的情况通常为两种:

  1. 单行文本溢出
  2. 多行文本溢出 (具体是在第几行根据具体业务而决定)

 

技术方案

1.单行文本裁剪

overflow: hidden;(文字长度超出限定宽度,则隐藏超出的内容)
white-space: nowrap;(设置文字在一行显示,不能换行)
text-overflow: ellipsis;(规定当文本溢出时,显示省略符号来代表被修剪的文本)

2.多行文本裁剪

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

方案解读

1.使用多行文本裁剪的方式实现单行文本裁剪的要求

在实际的开发过程中,最一开始使用的是多行文本裁剪的方式,只不过将-webkit-line-clamp设置为1,在安卓情况下可实现单行文本裁剪的要求,但在ios下,样式混乱,如下图所示:

 解决方案还是采用单行文本裁剪的方案去实现

2.使用单行文本裁剪的方式也需要注意宽度的设置

最一开始直接更换单行文本裁剪的方案,但是发现实际展示时,文本出现了相互覆盖的情况: 

此时设置了宽度,文本迎刃而解:

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: inherit;

以上是关于文本溢出显示省略号之css的主要内容,如果未能解决你的问题,请参考以下文章

文本溢出显示省略号之css

css 文本超出就隐藏并且显示省略号

前端工作中常用 CSS 知识点整理

多行文本超出设置行就隐藏并且显示省略号

方案集合 之文本溢出截断省略

css / js 控制 文本溢出 省略号显示