这是你曾经读过的一件事,说“啊哈!”然后忘了完全是我的情况。
为什么xhtml中的换行符标记优先用空格<br />
写入而不是用ok格式<br/>
写入?我记得原因很有趣,而你可以想象用谷歌找到它并不容易。
当然,这不是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/>
所以最后的空格是可选的。
答案 0 :(得分:45)
w3c将其指定为语法:
EmptyElemTag ::= '<' Name (S Attribute)* S? '/>'
这意味着打开括号,名称,多个(空格和属性)标记,可选空格,斜杠和结束标记。据此,两者都是正确的。
答案 1 :(得分:23)
一些旧的浏览器没有空间就没有正确解析元素,因此大多数Web开发人员使用<br />
。我不记得哪个浏览器,但我相信它们已经灭绝了。
答案 2 :(得分:21)
如果我没记错的话,这只是因为一些旧浏览器在斜线之前没有空格的自闭标签出现问题。我怀疑这是一个现在的问题,但很多开发人员(包括我自己)养成了包含空间的习惯。
编辑:啊,我们在这里:
http://www.w3.org/TR/xhtml1/#guidelines
在尾随/和&gt;之前加一个空格空元素,例如
<br />
,<hr />
和<img src="karen.jpg" alt="Karen" />
。此外,对空元素使用最小化标记语法,例如<br />
,因为XML允许的替代语法<br></br>
在许多现有用户代理中提供了不确定的结果。
答案 3 :(得分:15)
XHTML中没有正确的方法。它们在XML中正式相同。空白在那个位置并不重要。
答案 4 :(得分:9)
对于XHTML:两者都有。对于HTML4及更早版本:都不是。
答案 5 :(得分:7)
<br />
是有效的(旧)HTML,而<br/>
则不是。如果您以XML格式提供XHTML,则无关紧要。如果您将其作为text/html
提供,那么除了有效的XHTML之外,它还需要是有效的HTML。 (为什么将XHTML作为HTML提供?因为IE不能将XHTML理解为XML,并且因为没有主要的浏览器会在下载文本的过程中开始渲染XHTML,但是他们会对HTML进行渲染。我的博客似乎加载速度不慢,因为网站速度很慢,但是因为浏览器在获取所有内容之后才会开始呈现页面。我讨厌浏览器。)
答案 6 :(得分:7)
有一些背景可以补充Matt Hamilton的答案。
至少有一个问题浏览器是Netscape 4.快速检查显示在该浏览器中,&lt; br /&gt; (即没有空格)不会导致换行。事实上,它似乎没有做任何事情。 &lt; br /&gt; (即有空格)确实执行换行符。
当创建可以表现为XHTML或HTML的多语言文档时(注意:“表现为” - 不是“有效”),有必要使用&lt; br /&gt;或&lt; br&gt;&lt; / br&gt;。但是,在旧浏览器中,甚至在现代浏览器中以怪异模式呈现页面时,&lt; / br&gt;表现得像&lt; br&gt;,所以&lt; br&gt;&lt; / br&gt;产生两个换行符。
答案 7 :(得分:5)
<br/>
和<br />
都是正确的。 <br />
首先出现的原因是支持不了解新<br/>
语法的旧版浏览器。这真是一种骇客,/
被解释为没有值的属性而被忽略。
答案 8 :(得分:4)
两者都是正确的,两者都将被Web浏览器接受。您也可以为自己保留额外的字符,并使用<br/>
答案 9 :(得分:3)
两者都是正确的。但是我会使用<br />
来保持我的代码一致......因为我永远不会写
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
而不是
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
只是为了保存一个字节...而第二个版本是更好的可读性。但那只是品味问题。按你的意愿去做,但要保持一致: - )
答案 10 :(得分:1)
两者都可以正常工作。假设你要求福音派的原因,我更喜欢&lt; br /&gt;
答案 11 :(得分:0)
两者都是正确的。
答案 12 :(得分:0)
<br>
。你还没有使用XML。