white-space: normal 在 firefox 中不换行并非失效,而是因容器无明确 width/max-width 或父容器为 flex 且未设 flex-wrap: wrap,导致未触发换行条件;firefox 对该值完全符合规范。

white-space: normal 在 Firefox 中不换行?先确认是不是真没换
Firefox 对 white-space: normal 的行为完全符合规范,它不会“异常”,但容易被误判:比如容器没设 width 或 max-width,文本看起来“没换”,其实是块级元素自身宽度自适应、没触发换行条件;又或者父容器是 display: flex 且没设 flex-wrap: wrap,子元素被强制单行拉伸。用开发者工具检查计算后的 width 和 white-space 生效范围,比猜更可靠。
Firefox 不支持 white-space: break-spaces?别用它
white-space: break-spaces 是 CSS Text Level 4 提案,截至 2026 年 8 月,Firefox 仍**未实现**该值(Chrome 125+ 已支持)。若你在 Firefox 中写了这个值,它会退回到 normal,导致预期中的空格处断行失效。真实项目中应避免使用:break-spaces 目前只适合实验性场景,不能作为兼容方案。
pre-wrap 在 Firefox 中换行多出空行?检查换行符来源
white-space: pre-wrap 在 Firefox 中保留所有换行符(\n),但如果你看到意外的空行,大概率是 HTML 源码里写了换行或服务端返回了带多余 \n 的字符串(例如富文本编辑器导出内容)。Firefox 不会“多加”换行,它只是忠实地渲染。解决方法是:后端清洗或前端用 .replace(/\n\s*\n/g, '\n') 压缩连续换行;或改用 white-space: pre-line——它合并多余空白,只保留有意义的换行。
Firefox 下 nowrap + text-overflow: ellipsis 不生效?缺关键三件套
在 Firefox 中让单行省略号工作,必须同时满足三个条件:white-space: nowrap、overflow: hidden、text-overflow: ellipsis,且容器要有明确的 width 或 max-width(百分比也行,但不能是 auto 或未设置)。漏掉任意一个,Firefox 就不显示省略号。特别注意:如果父容器是 display: grid 或 flex,还需确保该元素本身不是 min-width: auto(Flex/Grid 默认行为),必要时加 min-width: 0。
真正容易被忽略的是:Firefox 对 text-overflow 的触发依赖于块格式化上下文(BFC)的完整建立。没有显式 width、没设 overflow、或被弹性布局隐式撑开——这些都不是浏览器 bug,而是 CSS 渲染规则在严格执行。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











