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

)和回车(
)还有( 
)等等。