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

相关推荐
yuanyxh1 小时前
《精通正则表达式》精华摘要
前端·javascript·正则表达式
小飞大王6662 小时前
简单实现HTML在线编辑器
前端·编辑器·html
Jimmy2 小时前
CSS 实现卡牌翻转
前端·css·html
百万蹄蹄向前冲2 小时前
大学期末考,AI定制个性化考试体验
前端·人工智能·面试
向明天乄3 小时前
在 Vue 3 项目中集成高德地图(附 Key 与安全密钥申请全流程)
前端·vue.js·安全
sunshine_程序媛3 小时前
vue3中的watch和watchEffect区别以及demo示例
前端·javascript·vue.js·vue3
电商数据girl3 小时前
【经验分享】浅谈京东商品SKU接口的技术实现原理
java·开发语言·前端·数据库·经验分享·eclipse·json
Senar4 小时前
听《富婆KTV》让我学到个新的API
前端·javascript·浏览器
烛阴4 小时前
提升Web爬虫效率的秘密武器:Puppeteer选择器全攻略
前端·javascript·爬虫
hao_wujing5 小时前
Web 连接和跟踪
服务器·前端·javascript