firefox 不支持 text-overflow: ellipsis,仅识别 clip,即使配齐 white-space: nowrap、overflow: hidden 和明确宽度也无效;替代方案只有 js 截断+title 提示、服务端预截断或 max-height 控制行数。

text-overflow: ellipsis 在 Firefox 中根本不会渲染省略号
不是配置错,也不是漏写了 white-space: nowrap 或 overflow: hidden,而是 Firefox 从始至终不支持 text-overflow: ellipsis 这个值——它只识别 text-overflow: clip(即静默裁切),对 ellipsis 直接忽略。这个行为自 CSS3 标准化以来一直未被实现,2026 年最新版 Firefox(128+)依然如此。
为什么其他浏览器能显示而 Firefox 不行
这不是 bug,是实现分歧:text-overflow 最早由 IE 引入,后被 WebKit/Blink 跟进;Firefox 始终认为该属性语义模糊、依赖渲染细节,拒绝纳入标准支持路径。即使你写了全套组合:
white-space: nowrapoverflow: hiddenwidth: 200pxtext-overflow: ellipsis
Firefox 仍会把溢出文本直接裁掉,不插入 U+2026 字符,也不触发任何回退逻辑。
Firefox 下能用的替代方案只有三个
没有“兼容写法”能绕过这个限制,必须换思路:
-
JS 截断 + title 提示:用
getBoundingClientRect()或measureText()动态判断是否溢出,截断后加title属性展示全文 -
服务端预截断:按字体、字号、容器宽度估算字符数,在 HTML 渲染前就截好,补上
…(注意用 Unicode…,不是...) -
放弃省略号,改用 max-height + overflow: hidden:配合
line-height和max-height控制可见行数,虽无省略号但视觉可控(适合卡片类布局)
别试 -moz-binding 或 XML 绑定方案——Firefox 自 60 版本起已彻底移除 XBL 支持,那些老教程里的 ellipsis.xml 现在连解析都会报错。
真正容易被忽略的点:你以为的“兼容写法”其实毫无意义
比如加前缀 -moz-text-overflow: ellipsis,或同时写 text-overflow: clip; text-overflow: ellipsis,这些在 Firefox 中全无效。它不读取 ellipsis 值,也不 fallback 到任何替代行为。只要目标是“在 Firefox 里让 text-overflow: ellipsis 显示省略号”,答案就是:做不到。必须接受 JS 或服务端介入的事实。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











