CSS文字超出隐藏添加省略号(单行和多行)

在前端页面中文字超出隐藏并添加省略号是比较常见的样式处理,实际CSS样式中单行省略和多行省略的样式有所差异,在某些特殊场景下多行超出的样式会不生效,本文给出相关解决方案

文本超出省略目标效果

我是一个超级长超级长超级长超级长超级长的标题

我是一个超级长超级长超级长超级...

当文本超过宽度是进行省略并追加省略号

单行省略样式

单行省略一般用于标题,且适用于文本不换行的情况。

h1 {
  /*超出隐藏*/
  overflow: hidden;
  /*文本超出显示为省略号*/
  text - overflow: ellipsis;
  /*文本不换行*/
  white - space: nowrap;
}
​

多行超出省略号

多行超出,可以动态设计几行进行超出省略。

一般用于列表也显示描述的时候。

有时候为了呈现更多的内容,会选择先换行,超出 N 行后再省略。

p {
  /*超出隐藏*/
  overflow: hidden;
  /*文本超出显示为省略号*/
  text - overflow: ellipsis;
  /*自适应盒子模型*/
  display: -webkit - box;
  /*行数2*/
  - webkit - line - clamp: 2;
  /*顶部向底部垂直布置子元素*/
  - webkit - box - orient: vertical;
  /*为了保证准确建议增加以下配置*/
  /*行高*/
  line - height: 25px;
  /*总高*/
  height: 50px;
}
​

-webkit-box-orient: vertical

-webkit-box-orient: vertical 属性在某些时候可能不生效

比如:VUE 打包后-webkit-box-orient: vertical; 样式消失,原因是 Vue 打包的时候,过滤了部分 css。

p {
  /*超出隐藏*/
  overflow: hidden;
  /*文本超出显示为省略号*/
  text - overflow: ellipsis;
  /*自适应盒子模型*/
  display: -webkit - box;
  /*行数2*/
  - webkit - line - clamp: 2;
  /*顶部向底部垂直布置子元素*/
  /* autoprefixer: off */
  - webkit - box - orient: vertical;
  /* autoprefixer: on */
  /*为了保证准确建议增加以下配置*/
  line - height: 25px;
  height: 50px;
}
​

更多推荐

章节目录