text-justify在现代浏览器中已被主流浏览器主动弃用:chrome 120+、firefox 110+、safari 17.4+已移除支持;旧版chrome(如103及更早)静默忽略该属性,且w3c规范已将其搁置多年,实际不可用于生产环境。

text-justify 在现代浏览器里基本不能用
它不是“兼容性差”,而是被主流浏览器主动弃用:Chrome 120+、Firefox 110+、Safari 17.4+ 已移除支持;旧版 Chrome(text-justify: inter-character 看起来像解药,实则是历史遗留陷阱。
为什么 text-align: justify 单独写在中文上没反应
浏览器默认只在空格、标点或换行符处插入可伸缩间隙,汉字之间没有天然断点,text-align: justify 就跳过拉伸逻辑。常见现象包括:
- 单行文本完全不生效(规范行为,非 bug)
- 多行时末行始终左对齐
- 超短文本(如「姓名」「密码」)被强行撑开,字距断裂
必须搭配 ::after 伪元素才能骗过渲染引擎,让它把单行也当作“需要拉伸的行”处理。
真正可用的两端对齐兜底方案
放弃依赖单一属性,分层处理:
下载 Comet AI 浏览器,体验由 Perplexity AI 驱动的革命性上网方式。内置 AI 助手可实时总结网页、跨标签页对比信息、自动执行任务。告别繁琐操作,让 AI 成为你的浏览副驾,大幅提升研究与工作效率。支持 Windows、macOS、Android 和 iOS。
- 现代环境(Chrome ≥120 / Firefox ≥110 / Safari ≥17.4):
text-align: justify+text-align-last: justify,但需确认目标用户是否真跑在这几个版本上 - 通用兼容方案(IE9+ / 所有安卓 WebView / 大部分 iOS):
::after { content: "\00A0"; display: inline-block; width: 100%; },且父容器必须设固定width - 富文本动态内容:JS 检测每段末行字数,仅当 ≥5 字时插入零宽空格
,避免短句被拉散 - 必须加
word-break: keep-all,否则中文可能在任意位置断行,破坏对齐节奏
letter-spacing 是放大器,不是修复工具
很多人用 letter-spacing: -0.05em 压字距,结果更糟:
- 小字号(14px)下中文字形视觉粘连
- 与
hyphens: auto冲突,英文连字符失效 - 该属性不可继承,
<strong></strong>或<em></em>里文字会突然变密
真要微调,只在纯中文段落用 letter-spacing: -0.03em,并配 line-height: 1.6 缓冲压迫感。
移动端两端对齐的本质矛盾在于:浏览器按行盒(line box)做离散计算,而中文无词界。所谓“间隙过大”,其实是要求它做出版级光学补偿——这事,CSS 目前干不了。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










