HTML DOM:回车符/制表符是否转换为空格?

时间:2011-07-25 22:40:07

标签: html firebug dom

请看一下这张图片:

http://img713.imageshack.us/img713/7443/domhd.jpg

在左上方,注意HelloWorld之间没有空格,而Foo Bar则有空格。右侧显示标记; Foo之后或Bar之前没有空格;只是回车和几个标签。左下角显示了DOM(每个Firebug)。

问题:FooBar之间有什么空格?

注意:这里是JSFiddle,但似乎已将标签转换为空格:http://jsfiddle.net/sM6rk/

原始标记(再次,标签变为空格):

<html>
    <head>
    </head>
    <body>
        <p>Hello<em>World</em></p>
        <p>Foo
            <em>Bar</em>
        </p>
    </body>
</html>

3 个答案:

答案 0 :(得分:2)

CSS规范解释了white-space processing model的演示,特别是:

  
      
  1. [..剪断..]
  2.   
  3. [..剪断..]
  4.   
  5. 如果'white-space'设置为'normal'或'nowrap',则换行字符将转换为以下字符之一:空格字符,零宽度空格字符(U + 200B)或根据基于内容脚本的特定于UA的算法,没有字符(即,未呈现)。
  6.   
  7. 如果'white-space'设置为'normal','nowrap'或'pre-line',   每个标签(U + 0009)都转换为空格(U + 0020)   跟随另一个空间(U + 0020)的任何空间(U + 0020) - 即使是内联之前的空格,如果该空间也将“白色空间”设置为“正常”,“现在”或“预先行” - 是除去。
  8.   

答案 1 :(得分:1)

在HTML中,除非标记为preserve-whitespace的块内,否则所有空格都将转换为单个空格(或该语言的任何等效空格)。这包括空格,制表符和换行符。

有关更多具体细节,请参阅The HTML 4.01 spec

答案 2 :(得分:0)

是的,所有空格字符都被解释为空格,多个空格字符被解释为单个空格。

因此,Foo和Bar之间的换行符和空格被解释为单个空格。