HTML中普通空格会被浏览器合并,需用 强制显示不换行空格;其他空格实体如 、 、 用途明确但兼容性较弱;CSS方案更灵活现代,而或white-space属性过于粗粒度,不适合局部微调。
无效。HTML解析器默认把连续的空白字符(空格、制表符、换行)压缩成单个空格,且首尾空格会被忽略。比如写 hello world ,浏览器实际渲染为 hello world(前后无空格,中间只一个空格)。
用 (no-break space)能强制显示一个不被合并、不换行的空格。它属于HTML实体,语义上表示“此处必须保留这个空格”。
姓名: 张三
上面会显示“姓名: 张三”(三个连续空格)。注意: 必须带分号,写成   无效。
除了 ,还有几个有明确用途的空格字符:
:半个汉字宽(约0.5em),适合中英文间微调 :一个汉字宽(约1em),常用于缩进 :更窄的空格(约1/6em),适合标点前后的精细控制但这些实体兼容性略弱于 ,老版本IE可能不识别。更现代的做法是用CSS控制:
hello
姓名:张三
CSS方式更灵活、可维护,也避免HTML里堆砌大量 。
或 white-space?可以,但代价高:
会禁用所有HTML标签解析(包括换行、等),仅适合纯文本块white-space: pre 或 pre-wrap 会让整段文字保留所有空白,容易破坏排版节奏真正需要的往往只是局部微调——这时候 最轻量、最直观、最不容易出错。