HTML5是否需要引用值的属性之间的空格?

hak*_*kre 8 html

当属性具有值并且引用这些值时,HTML通常允许属性之间没有空格.

示例(参考/来源):

在HTML文档中,不需要属性之间的空格.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"                                                                 
     "http://www.w3.org/TR/html4/loose.dtd">                                                                                   

<html>                                                                                                                         
  <head>                                                                                                                       
    <title>no attribute space</title>                                                                                          
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">                                                   
  </head>                                                                                                                      
  <body>                                                                                                                       
    <p class="CLASS"title='TITLE'></p>                                                                                         
  </body>                                                                                                                      
</html>                                                                                                                        
Run Code Online (Sandbox Code Playgroud)

见第三行:

    <p class="CLASS"title='TITLE'></p>                                                                                         
                   ^^
Run Code Online (Sandbox Code Playgroud)

现在使用这样的HTML块将doctype更改为HTML 5(<!DOCTYPE HTML>),使得实验性的 W3C HTML 5一致性检查器完全出错,告诉我:

验证输出:1错误

错误第9行,第22列:属性之间没有空格.

    <p class="CLASS"title='TITLE'></p>
                    ^
Run Code Online (Sandbox Code Playgroud)

所以我认为HTML 5向后兼容浏览器在现实中处理HTML的方式和浏览器AFAIK处理这个问题.所以我至少有点困惑.我也有问题破解(有些不必要的)编译的HTML 5规范在这一点上是精确的,因为我找到了(W3C再次,请参阅http://www.w3.org/TR/html-markup/syntax.html #saxics-attributes)并不是说这可能(也可能必须)是一个错误.

Que*_*tin 9

您正在阅读已停产的非规范性参考文献.如果你看一下规范中的开始标记的定义(这是规范性的),它说:

然后,开始标记可以具有多个属性,其语法如下所述.属性必须通过一个或多个空格字符彼此分隔.


所以我认为HTML 5向后兼容浏览器在现实中处理HTML的方式和浏览器AFAIK处理这个问题.

与现实世界标记兼容是一个设计目标,但许多事情已被淘汰,并且遗漏属性之间的空间几乎从不会故意发生.