CSS 内容超出显示省略号

CSS 内容超出显示省略号

文章目录

  • [CSS 内容超出显示省略号](#CSS 内容超出显示省略号)
      • [**1. 单行文本省略(常用)**](#1. 单行文本省略(常用))
      • [**2. 多行文本省略(如 2 行)**](#2. 多行文本省略(如 2 行))
      • [**3. 对非块级元素生效**](#3. 对非块级元素生效)
      • **完整示例**
      • **注意事项**

在 CSS 中实现内容超出显示省略号,主要通过控制文本溢出行为来实现。以下是不同场景下的实现方法:


1. 单行文本省略(常用)

css 复制代码
.ellipsis {
  width: 200px;          /* 必须设置固定宽度或最大宽度 */
  overflow: hidden;      /* 隐藏溢出内容 */
  white-space: nowrap;   /* 强制文本不换行 */
  text-overflow: ellipsis; /* 超出部分显示省略号 */
}

关键点

  • widthmax-width 必须明确(否则容器无法判断何时溢出)。
  • white-space: nowrap 强制文本单行显示。
  • text-overflow: ellipsis 需配合 overflow: hidden 使用。

2. 多行文本省略(如 2 行)

css 复制代码
.multiline-ellipsis {
  width: 200px;
  display: -webkit-box;           /* 使用旧版弹性盒子模型 */
  -webkit-box-orient: vertical;   /* 内容垂直排列 */
  -webkit-line-clamp: 2;          /* 限制显示行数 */
  overflow: hidden;               /* 隐藏溢出内容 */
}

注意

  • 这是 -webkit- 私有属性,兼容性有限(主要支持 WebKit 内核浏览器,如 Chrome/Safari)。
  • 不支持 Firefox 和 IE,需根据项目需求谨慎使用。

3. 对非块级元素生效

若元素默认是行内元素(如 <span>),需添加 display: blockinline-block

css 复制代码
span.ellipsis {
  display: inline-block; /* 或 block */
  width: 100px;
  overflow: hidden;
  white-space: nowrap;/* 强制文本不换行 */
  text-overflow: ellipsis;
}

完整示例

css 复制代码
<!DOCTYPE html>
<style>
  .single-line {
    width: 200px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    border: 1px solid #ccc;
  }

  .multi-line {
    width: 200px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    border: 1px solid #ccc;
  }
</style>

<!-- 单行省略 -->
<div class="single-line">这是一段非常非常非常非常非常非常非常长的单行文本</div>

<!-- 多行省略 -->
<div class="multi-line">这是一段非常非常非常非常非常非常非常长的多行文本,这里的内容会在第二行末尾截断并显示省略号。</div>

注意事项

  • 单行省略:广泛兼容所有现代浏览器。
  • 多行省略:推荐在移动端或 WebKit 内核环境使用,其他场景可考虑后端截断或 JavaScript 方案。
  • 容器尺寸:务必明确容器的宽度(单行)或高度(多行),否则无法触发溢出效果。

:推荐在移动端或 WebKit 内核环境使用,其他场景可考虑后端截断或 JavaScript 方案。

  • 容器尺寸:务必明确容器的宽度(单行)或高度(多行),否则无法触发溢出效果。

根据需求选择合适方案,单行场景推荐优先使用 text-overflow: ellipsis

相关推荐
发现一只大呆瓜2 小时前
超全 Vite 性能优化指南:网络、资源、预渲染三维落地方案
前端·面试·vite
IT_陈寒2 小时前
Vue的computed属性怎么突然不更新了?
前端·人工智能·后端
智商不够_熬夜来凑2 小时前
【Picker】单选多选
前端·javascript·vue.js
米饭不加菜3 小时前
Typora 原生流程图语法完全指南(Flowchart.js)
前端·javascript·流程图
scan7243 小时前
langgraphy条件边
前端·javascript·html
冰小忆4 小时前
类变量在继承场景下的初始化规则是怎样的?
java·前端·数据库
YAwu114 小时前
JavaScript this 底层机制剖析
前端·javascript
你好潘先生4 小时前
让 AI 任务不丢进度:YeeroAI 后台续跑与全局快捷操作实践
前端·人工智能·后端
小KK_5 小时前
写给前端小白:我终于搞懂了JS原型和原型链
前端·javascript