HTML空格实体(如 )是内容级占位符,用于保留不可断行空格;word-spacing是样式级属性,仅调控单词间逻辑间距。二者层级不同,混用将导致语义混乱、SEO与可访问性受损。
HTML5 中的空格(如 )和 CSS 的 word-spacing 解决的是完全不同的问题:前者是「内容级占位符」,后者是「样式级间距调控」。混用或误替会导致布局错乱、语义丢失,甚至 SEO 和可访问性受损。
等)是 HTML 内容的一部分浏览器默认会把连续多个普通空格、制表符、换行符压缩成一个空格——这是 HTML 规范行为,不是 bug。所以当你真想“显示两个空格”,就得用不可断行空格 这类实体。
叠加虽能“撑开”间距,但语义混乱,且不利于维护;例如:姓名: 张三
(
半角空格)、 (全角空格),但仍是内容层硬编码,不推荐用于布局对齐word-spacing 是纯样式控制,作用于单词间逻辑间隙word-spacing 只影响以空白符(空格、制表、换行)分隔的「单词」之间的距离,它不改变 HTML 结构,也不新增任何字符节点。
px、em、rem,其中 em 相对于当前元素的 font-size,更适配响应式场景欢 迎 光 临
——注意:`world!` 和 `你好` 之间不会被加宽,因为 `!` 属于标点,不是单词分隔符Hello world! 你好 world
判断依据很简单:你是在「写内容」,还是在「调样式」?
或 white-space: pre,而不是堆
word-spacing,别手敲十个
margin 或 padding,而非在标签里塞空格实体text-indent、line-height、letter-spacing,它们和 word-spacing 各司其职最常被忽略的一点:空格实体一旦写进 HTML,就固化在源码里,后续无法用媒体查询动态调整;而 word-spacing 可以配合 @media、CSS 变量甚至 JS 实时修改——真正的「样式归样式,内容归内容」。