为什么<br />而不是<br/> <br/>这些?

这是你读过的那些东西之一,说“啊!” 然后忘记。 我的确如此。

为什么在XHTML断行标签优先与空间书面<br /> ,而不是在还行格式<br/> ? 我记得原因很有趣,而且你可以想象用google找到它并不容易。

当然,这不是一个XML格式良好的问题。 来自W3C

[44]    EmptyElemTag       ::=      '<' Name (S Attribute)* S? '/>' 

   Empty-element tags may be used for any element which has no content, whether
   or not it is declared using the keyword EMPTY. For interoperability, the 
   empty-element tag should be used, and should only be used, for elements which 
   are declared EMPTY.

Examples of empty elements:

<IMG align="left"  src="http://www.w3.org/Icons/WWW/w3c_home" /> 
<br></br> 
<br/>

所以最后的空间是可选的。


如果我记得正确,那只是因为一些旧版浏览器在斜杠前没有空格的自闭标签出现问题。 我怀疑现在这是一个问题,但很多开发者(包括我自己)都养成了包括空间的习惯。

编辑:啊,我们在这里:

http://www.w3.org/TR/xhtml1/#guidelines

在空白元素的尾部和/或>之前加一个空格,例如<br /><hr /><img src="karen.jpg" alt="Karen" /> 。 此外,对于空元素(例如<br />使用最小化标记语法作为XML允许的替代语法<br></br>在许多现有用户代理中给出了不确定结果。


w3c将其指定为语法:

EmptyElemTag       ::=      '<' Name (S Attribute)* S? '/>'

这意味着开放括号,名称,一些(空间和属性)令牌,可选空间,斜线和结束标记。 据此,两者都是正确的。


一些较旧的浏览器没有正确解析元素,因此大多数Web开发人员都使用<br /> 。 我不记得哪些浏览器是非正式的,但我相信它们即将灭绝。

编辑 :浏览器是Netscape 4。

链接地址: http://www.djcxy.com/p/2551.html

上一篇: why <br /> and not <br/>?

下一篇: how to convert HTML + CSS to PDF with PHP?