HTML中是否所有空格字符都相同?

时间:2014-08-14 12:16:41

标签: html whitespace

Unicode有很多whitespace characters(换行符,制表符,各种宽度的空格,控制字符)。

他们所有是否算作HTML中的空格?即。他们都被折叠成一个空间吗?或者像空格和发空间这样的东西处理方式不同?

1 个答案:

答案 0 :(得分:1)

HTML 4.01明确says它没有定义除Ascii空间,Ascii选项卡,换页符和零宽度空间之外的空格字符的呈现。因此,EM SPACE和HAIR SPACE等字符没有定义渲染。

在实践中,浏览器使用所用字体中可用的(空)字形来渲染它们,因此只要浏览器可以找到包含它们的某种字体,它们就会按预期“工作”。

浏览器执行此操作,以便将此类字符视为与普通可打印字符相同的方式。实际上,它们就像字母,占据一定的宽度,但是空的。这意味着它们根本没有折叠,并且它们没有被证明是合理的(text-align: justify)。

因为这是未指定的,所以不能保证事情不会改变。因此,使用CSS创建任何所需的间距通常更安全(可能添加了额外的内联标记)。

HTML5草稿中似乎没有任何澄清或更改。