text-overflow: ellipsis仅对单行块级元素生效,需同时满足white-space: nowrap、overflow: hidden及明确width/max-width;hover显示全文可用原生title属性,多行省略则依赖-webkit-line-clamp或JS方案。

单行文字溢出显示省略号(...),hover 时浮层/tooltip 显示全文,不是靠 JS 模拟 tooltip,而是用原生 CSS + 少量 HTML 即可稳定实现——关键在 title 属性配合 text-overflow: ellipsis 的组合,且必须满足容器约束条件。
为什么 text-overflow: ellipsis 不生效?
它只对**单行块级元素**起作用,且依赖三个前提同时成立:
-
white-space: nowrap(强制不换行) -
overflow: hidden(隐藏溢出内容) -
width或max-width有明确值(不能是auto或未设宽)
常见错误:给 最轻量、无障碍友好、无需 JS 的方案就是直接用 CSS 只需: 浏览器原生 从零开始创建惊艳、动画丰富且自包含的 HTML 演示文稿,或通过转换 PowerPoint 文件生成。当用户希望制作幻灯片、构建演示文稿、打造路演资料(pitch deck)、将 PPT/PPTX 转换为网页格式,或增强现有 HTML 演示文稿时,应使用此能力。该能力帮助用户通过视觉预览而非抽象选项来发掘自身审美偏好。 若选第一种,CSS 示例: 注意: 真正容易被忽略的是:当文本含换行符(ellipsis 却忘了设 width,或套在 这类 inline 元素上没转成 inline-block 或 block。如何让 hover 时显示完整文字?
title 属性:<p class="ellipsis" title="这是一段超长的文字,超出容器宽度就会被截断并显示省略号">这是一段超长的文字,超出容器宽度就会被截断并显示省略号</p>
.ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 200px;
}
title 提示会在 hover 时自动出现,支持屏幕阅读器,且不干扰布局。注意:title 值必须和文本内容一致,否则语义断裂;若内容含 HTML 实体或特殊字符,需确保编码一致(如 在 title 中也要写成空格)。
多行文字怎么省略 + hover 显示全文?
text-overflow: ellipsis 原生不支持多行。可行路径只有两条:
-webkit-line-clamp(仅 WebKit/Blink 内核,Chrome/Safari/Edge 支持,Firefox 不支持)+ display: -webkit-box,再配 title —— 简单但兼容性有限mouseenter 动态生成 tooltip 元素,或切换 aria-label + role="tooltip" —— 更可控,但需处理焦点、关闭时机、位置计算.multi-ellipsis {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
/* 仍需 title 配合 hover 提示 */
}
-webkit-line-clamp 是实验性属性,未来可能变动;且当容器高度受字体大小影响时,line-clamp 行数可能不准。\n)或富文本()时,title 无法渲染换行,会变成一整行乱码。此时必须预处理——JS 替换 \n 为空格,或改用 aria-label + 自定义 tooltip 组件控制内容格式。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










