HTML提供了6种空格(space entity),它们拥有不同的宽度。
非断行空格(
)是常规空格的宽度,可运行于所有主流浏览器。其它几种空格( 
、 
、 
、‌
、‍
)在不同浏览器中宽度各异。
叫不换行空格,全称为No-Break Space,它是最常见且使用最多的空格,大多数的人可能只接触了
,它是按下space键产生的空格。在HTML中,如果你用空格键产生此空格,空格是不会累加的(只算1个)。要使用html实体表示才可累加,该空格占据宽度受字体影响明显而强烈;
 
叫“半角空格”,全称是En-Space,en是字体排印学的计量单位,为em宽度的一半。根据定义,它等同于字体宽度的一半(如16px字体中就是8px)。名义上是小写字母n的宽度。此空格传承了空格家族一贯的特性:空格颜色透明,此空格有个相当稳健的特性,即其占据的宽度正好是1/2个中文字符宽度,而且基本上不受字体影响;
 
叫“全角空格”,全称是Em-Space,em是字体排印学的计量单位,相当于当前指定的点数。例如 1em 在16px的字体中就是16px。此空格也传承空格家族一贯的特性:空格颜色透明,此空格特性也相当稳健,即其占据的宽度正好是1个中文字符宽度,而且基本上不受字体影响;
 
叫窄空格,全称是Thin-Space。我们不妨称之为“瘦弱的空格”,即该空格长得比较瘦弱,身体单薄,占据的宽度比较小,是 em 宽度的之六分之一;
‌
叫零宽不连字,全称是Zero Width Non Joiner,简称“ZWNJ”,是一个不打印字符,放在电子文本的两个字符之间,抑制本来会发生的连字,而是以这两个字符原本的字形来绘制。Unicode中的零宽不连字字符映射为(zero width non-joiner,U+200C),HTML字符值引用为‌
;
‍
叫零宽连字,全称是Zero Width Joiner,简称“ZWJ”,是一个不打印字符,放在某些需要复杂排版语言(如阿拉伯语、印地语)的两个字符之间,使得这两个原本不会发生连字的字符产生了连字效果。零宽连字符的Unicode码位是U+200D (HTML字符值引用为‍ ‍
);
此外,浏览器还会把以下字符当作空白进行解析:空格 
、制表位	
、换行

和回车
还有 
等等。
本文采用 知识共享 “署名-非商业性使用-相同方式共享” 4.0 (CC BY-NC-SA 4.0)”许可协议 进行许可。
本作品可自由复制、传播及基于本作品进行演绎创作。如有以上需要,请通过E-mail等方式告知,并在文章开头明显位置加上署名 [ 丁学文 ] 、原文链接及许可协议信息,并明确指出修改(如有),不得用于商业用途。谢谢合作。
详情请点击查看许可协议及版权声明具体内容。
博主联系方式:
E-mail: xuewending1995@gmail.com [ 请注明来意 ]
GitHub: Levi.GitHub