请看一下这张图片:
http://img713.imageshack.us/img713/7443/domhd.jpg
在左上方,注意HelloWorld
之间没有空格,而Foo Bar
则有空格。右侧显示标记; Foo
之后或Bar
之前没有空格;只是回车和几个标签。左下角显示了DOM(每个Firebug)。
问题:Foo
和Bar
之间有什么空格?
注意:这里是JSFiddle,但似乎已将标签转换为空格:http://jsfiddle.net/sM6rk/
原始标记(再次,标签变为空格):
<html>
<head>
</head>
<body>
<p>Hello<em>World</em></p>
<p>Foo
<em>Bar</em>
</p>
</body>
</html>
答案 0 :(得分:2)
CSS规范解释了white-space processing model的演示,特别是:
- [..剪断..]
- [..剪断..]
- 如果'white-space'设置为'normal'或'nowrap',则换行字符将转换为以下字符之一:空格字符,零宽度空格字符(U + 200B)或根据基于内容脚本的特定于UA的算法,没有字符(即,未呈现)。
- 如果'white-space'设置为'normal','nowrap'或'pre-line', 每个标签(U + 0009)都转换为空格(U + 0020) 跟随另一个空间(U + 0020)的任何空间(U + 0020) - 即使是内联之前的空格,如果该空间也将“白色空间”设置为“正常”,“现在”或“预先行” - 是除去。
醇>
答案 1 :(得分:1)
在HTML中,除非标记为preserve-whitespace
的块内,否则所有空格都将转换为单个空格(或该语言的任何等效空格)。这包括空格,制表符和换行符。
有关更多具体细节,请参阅The HTML 4.01 spec。
答案 2 :(得分:0)
是的,所有空格字符都被解释为空格,多个空格字符被解释为单个空格。
因此,Foo和Bar之间的换行符和空格被解释为单个空格。