讲师中心 微信公众号

工具推荐

视频效率加速
updream

一键生成高质量推广成片

立刻MV
立刻MV

低成本歌曲 MV、视频生成

Seko
Seko

AI短剧一键生成成片

Laper
Laper

剧本策划到成片协作

html如何设置超出一行省略号显示

冬磊姑娘_8730

冬磊姑娘_8730

发布时间:2026-02-15 21:43:02

|

986人浏览过

|

来源于php中文网

原创

text-overflow: ellipsis需与white-space: nowrap、overflow: hidden配合才生效;多行省略依赖-webkit-line-clamp;JS方案需测真实宽度防截半字;字体差异影响省略效果。

html如何设置超出一行省略号显示

text-overflow: ellipsis 只对单行生效

直接写 text-overflow: ellipsis 没用,它必须和 white-space: nowrap、overflow: hidden 配合才起作用,三者缺一不可。常见错误是只加了 text-overflow,结果文字照常换行或溢出容器。

适用场景:导航栏菜单项、表格固定列宽的文本、卡片标题等需要严格控高且内容不确定长度的地方。

实操建议:

DeepBI DHTML 页面生成器
DeepBI DHTML 页面生成器

生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur

下载
  • 确保父容器有明确宽度(比如 width: 200px 或 max-width: 100%),否则 overflow: hidden 不会触发截断
  • white-space: nowrap 会强制整段文字不换行,如果原本期望允许换行但末尾省略,这个方案就不适用
  • 不要在 flex 容器子项上单独设 white-space: nowrap 却忘了给父项设 min-width: 0,否则 flex 项可能撑开容器导致省略失效

多行省略要用 -webkit-line-clamp(非标准但实用)

纯 CSS 实现多行省略目前只有 -webkit-line-clamp 这一条路,它不是 W3C 标准,但在 Chrome、Edge、Safari 和新版 Firefox 中都支持。别信“用 display: -webkit-box 就能兼容所有浏览器”——Firefox 旧版本和 IE 完全不认。

立即学习“前端免费学习笔记(深入)”;

典型错误现象:line-clamp 设了 3 却只显示 1 行,或者末尾没出现省略号,大概率是漏了 overflow: hidden 或 display: -webkit-box。

实操建议:

  • 必须按顺序写这四条:display: -webkit-box、-webkit-box-orient: vertical、-webkit-line-clamp: 2、overflow: hidden
  • -webkit-line-clamp 的值是行数,不是高度,所以字体大小变化时,实际截断位置会浮动
  • 不能和 text-align: justify 同时用,后者会让省略号错位甚至消失

JavaScript 方案适合动态控制或降级兜底

当 CSS 省略不可靠(比如要兼容 IE11、或内容含复杂 inline 元素)、或需要点击展开/收起时,就得用 JS 截断字符串再拼 "…"。但别直接用 str.substring(0, n) + "…" —— 中文、emoji、全角符号长度和渲染宽度不一致,容易截半字或撑破容器。

使用场景:评论列表摘要、后台管理系统的日志预览、需要统计“已省略 X 字”的场合。

实操建议:

  • 优先用 canvas.measureText() 或 getBoundingClientRect() 测量真实宽度,而不是按字符数硬切
  • 若用字符数估算,中文统一按 2 字节、英文数字按 1 字节算,再结合 font-size 和容器宽度反推最大字符数
  • 注意处理空格和换行符:" hello\nworld " 截断前最好 .trim(),否则首尾空格占位却不可见,造成省略位置偏差

font-family 和 font-size 会影响省略位置

同一段文字,在 "PingFang SC" 和 "Courier New" 下,即使字号相同,显示宽度也差 15% 以上。这意味着你调试时看着刚好,上线后换字体就溢出或留白过多。

性能影响常被忽略:用 -webkit-line-clamp 的元素如果频繁重排(比如父容器尺寸动画),会触发多次 layout;JS 截断若在滚动中反复调用 getBoundingClientRect(),容易卡顿。

实操建议:

  • 在 CSS 中显式声明 font-family 和 font-size,避免依赖用户系统默认字体
  • 对高频更新区域(如实时聊天消息流),用 IntersectionObserver 延迟到进入视口后再计算省略,而非 scroll 事件里立刻执行
  • 服务端提前截断(比如 API 返回 title_short 字段)比前端 JS 或 CSS 更稳定,尤其对 SEO 和首屏速度敏感的页面
CSS 省略的本质是「视觉欺骗」,它不改变 DOM 内容,只控制渲染。一旦涉及换行逻辑、混合文本方向(比如中英混排+RTL)、或自定义字体加载延迟,就很容易掉坑里。真要稳,得先想清楚:这里到底需不需要精确到像素的省略?还是只要“看起来差不多”就行。

热门AI工具

更多
SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Flowith
Flowith Hot

Flowith是一款基于画布和智能体工作流的 AI 协作工作空间。

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

2946

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

6059

2023.11.06

Chrome开启无痕模式
Chrome开启无痕模式

本专题整合了Chrome无痕模式开启相关内容,阅读专题下面的文章了解更多详细教程。

4327

2026.03.24

edge是什么浏览器
edge是什么浏览器

Edge是一款由Microsoft开发的网页浏览器,是Windows 10操作系统中默认的浏览器,其目标是提供更快、更安全、更现代化的浏览器体验。本专题为大家提供edge浏览器相关的文章、下载、课程内容,供大家免费下载体验。

3122

2023.08.21

IE浏览器自动跳转EDGE如何恢复
IE浏览器自动跳转EDGE如何恢复

ie浏览器自动跳转edge的解决办法:1、更改默认浏览器设置;2、阻止edge浏览器的自动跳转;3、更改超链接的默认打开方式;4、禁用“快速网页查看器”;5、卸载edge浏览器;6、检查第三方插件或应用程序等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3014

2024.03.05

如何解决Edge打开但没有标题的问题
如何解决Edge打开但没有标题的问题

若 Microsoft Edge 浏览器打开后无标题(窗口空白或标题栏缺失),可尝试以下方法解决: 重启 Edge:关闭所有窗口,重新启动浏览器。 重置窗口布局:右击任务栏 Edge 图标 → 选择「最大化」或「还原」。 禁用扩展:进入 edge://extensions 临时关闭插件测试。 重置浏览器设置:前往 edge://settings/reset 恢复默认配置。 更新或重装 Edge:检查最新版本,或通过控制面板修复

3352

2025.04.24

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

1898

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

3084

2023.09.04

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

40

2026.11.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
GDB 17.2 官方文档集合
GDB 17.2 官方文档集合

共0课时 | 0人学习

Bootstrap 入门安装配置
Bootstrap 入门安装配置

共0课时 | 0人学习

38+ PhpStorm 提示和技巧
38+ PhpStorm 提示和技巧

共1课时 | 237人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn