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 分钟前
React 用自定义 useDebounce Hook 治好搜索框频繁请求:防抖、竞态取消与卸载清理
前端·javascript·react.js·react·hooks
杉氧18 分钟前
Flutter 跨平台多端适配与 Android/iOS 一键自动化打包发布
android·前端·flutter
障碍的枫子18 分钟前
xss和CSRF的攻击和防御
前端·xss·csrf
用户9210802628626 分钟前
3. 给 Bubble 新增一个 Agent Variant
前端
抓不住时间的沙30 分钟前
butterfly主题美化,打造属于自己的个性博客
java·开发语言·前端·javascript·node.js·github
kyriewen41 分钟前
前端切图仔被 AI 新闻淹死的第 N 天,我用 TRAE Work 定时任务救了自己
前端·人工智能·trae
京东云开发者42 分钟前
【全栈实践】第一个 AI Agent 项目:从零搭建 AI 音频创作助手(高级篇)
前端·agent·音视频开发
AbrahamCS1 小时前
从角色协同到可运行图:Graph Engineer 与多智能体编排
前端·人工智能·智能体
BigTopOne1 小时前
VS Code IntelliSense 配置(解决 #include 找不到的报红)
前端
愚公搬代码1 小时前
【愚公系列】《Web应用安全》005-Visual Studio Code编辑器的使用
前端·安全·编辑器