css 给文章打省略号...

在 CSS 中,可以使用省略号(ellipsis)来表示文本溢出时的处理方式,通常是在文本长度超过容器宽度时显示省略号 ...。要实现省略号效果,通常使用 text-overflow 属性,并配合其他一些样式来限制文本的显示区域。

1. 单行文本溢出省略号

  • 用法 :对于单行文本,如果内容超出了容器的宽度,可以使用 text-overflow: ellipsis; 来显示省略号。
  • 需要配合的属性
    • overflow: hidden;:隐藏超出容器的部分。
    • white-space: nowrap;:防止文本换行。
css 复制代码
.single-line-ellipsis {
  width: 200px;            /* 容器宽度 */
  white-space: nowrap;     /* 禁止换行 */
  overflow: hidden;        /* 超出隐藏 */
  text-overflow: ellipsis; /* 显示省略号 */
}

HTML:

html 复制代码
<div class="single-line-ellipsis">这是一个很长的文本,超出部分会显示为省略号。</div>

效果 :当文本长度超过 200px 时,超出部分会显示为 ...

2. 多行文本溢出省略号

  • 用法 :对于多行文本,如果内容超出了容器的高度并且需要显示省略号,可以使用 line-clamp 来实现(需要浏览器支持)。
  • 需要配合的属性
    • display: -webkit-box;:创建一个弹性容器。
    • webkit-line-clamp: n;:指定最多显示多少行文本。
    • webkit-box-orient: vertical;:设置容器的排列方向。
    • overflow: hidden;:隐藏超出的文本。
css 复制代码
.multi-line-ellipsis {
  display: -webkit-box;
  -webkit-line-clamp: 3;      /* 显示三行 */
  -webkit-box-orient: vertical; /* 设置排列方向为垂直 */
  overflow: hidden;            /* 隐藏超出部分 */
  height: 60px;                /* 设置容器高度 */
}

HTML:

html 复制代码
<div class="multi-line-ellipsis">
  这是一个多行文本示例,文本超出容器的部分会显示省略号。这里的文本比较长,应该会在三行后显示省略号。
</div>

效果 :当文本内容超过 3 行时,超出部分会显示为 ...

注意:

  • -webkit-line-clamp 是一个 Webkit 核心的特性,虽然被许多现代浏览器支持,但并不是所有浏览器都兼容,特别是旧版浏览器和某些非 Webkit 引擎的浏览器。
  • 对于多行省略号,使用 line-clamp 需要设置 display: -webkit-box-webkit-box-orient,这使得该功能主要适用于 Webkit 浏览器,如 Chrome、Safari 等。

通过这些方法,你可以有效地在 CSS 中为文本设置省略号,确保内容不会溢出容器并保持界面的整洁。

相关推荐
不会敲代码1几秒前
Prop Drilling 再见!React Context 核心概念与实战解析
前端·react.js
We་ct1 分钟前
LeetCode 102. 二叉树的层序遍历:图文拆解+代码详解
前端·算法·leetcode·typescript
stringwu2 分钟前
Claude Skill 开发实战指南:客户端开发工程师版
前端
sudo_jin3 分钟前
Webpack 是如何工作的?
前端
cxm@4 分钟前
vue中使用keepalive实现列表缓存
前端·javascript·vue.js·笔记
Komorebi゛7 分钟前
【Vue + Element Plus】el-tree树结构样式改造,添加转折线
前端·javascript·vue.js·elementui
feng68_9 分钟前
Web应用服务器Tomcat
运维·前端·tomcat
方安乐9 分钟前
react之shadcn(二)
前端·react.js·前端框架
一拳不是超人10 分钟前
Electron 实战全解析:基于 WebContentView 的多视图管理系统
前端·javascript·electron
阿珊和她的猫11 分钟前
网站页面卡顿的常见问题与解决方案深度剖析
前端·javascript·vue.js