我尝试过检查其他答案,但我仍然感到困惑——尤其是在看到W3schools HTML5参考之后。
我认为HTML4.01应该“允许”单个标记仅为<img>和<br>。然后XHTML与<img/>和<br/>一起出现(有人说旧版浏览器的空间很大)。
现在我想知道在练习HTML5时应该如何格式化代码。
是<br>、<br/>还是<br/>?
我尝试过检查其他答案,但我仍然感到困惑——尤其是在看到W3schools HTML5参考之后。
我认为HTML4.01应该“允许”单个标记仅为<img>和<br>。然后XHTML与<img/>和<br/>一起出现(有人说旧版浏览器的空间很大)。
现在我想知道在练习HTML5时应该如何格式化代码。
是<br>、<br/>还是<br/>?
当前回答
我认为HTML 5参考草案中的这句话提供了答案:
3.2.2.2空隙元件术语void元素用于指定必须为空的元素。这些要求仅适用于HTML语法。在XHTML中,所有这些元素都被视为普通元素,但必须标记为空元素。这些元素完全禁止包含任何内容。在HTML中,这些元素只有开始标记。可以使用自动关闭标记语法。必须省略结束标记,因为元素由解析器自动关闭。HTML示例:HTML语法中的void元素。XHTML语法中不允许这样做。<小时>例子:使用HTML和XHTML兼容的自动关闭标记语法的void元素。<hr/>XHTML示例:使用带有显式结束标记的仅XHTML语法的void元素。这对于HTML语法中的void元素是不允许的。<hr></hr>
换句话说:
无效的HTML 5:<IMG></IMG>有效的HTML 5:<IMG>,<IMG/>
虽然HTML禁止某些结束标记,但xhtml要求它们:
xhtml:<img>无效有效的xhtml:<img></img>或<img/>
HTML中禁止使用结束标记的其他元素:
Element | Valid HTML | Valid xhtml |
---|---|---|
AREA | <AREA> |
<AREA></AREA> |
BASE | <BASE> |
<BASE></BASE> |
BASEFONT | <BASEFONT> |
<BASEFONT></BASEFONT> |
BR | <BR> |
<BR></BR> |
COL | <COL> |
<COL></COL> |
FRAME | <FRAME> |
<FRAME></FRAME> |
HR | <HR> |
<HR></HR> |
IMG | <IMG> |
<IMG></IMG> |
INPUT | <INPUT> |
<INPUT></INPUT> |
ISINDEX | <ISINDEX> |
<ISINDEX></ISINDEX> |
LINK | <LINK> |
<LINK></LINK> |
META | <META> |
<META></META> |
PARAM | <PARAM> |
<PARAM></PARAM> |
HTML禁止某些结束标记,而xhtml需要这些标记,这是xhtml的问题。如果您正在编写HTML,请遵循HTML规则。
与此同时,布罗沃斯放弃了执行这些标准,因为每个人都错了。这并不明显:
禁止</BR></P>是可选的需要</SPAN>
然后xhtml出现了,它的XML规则是每个元素都必须有一个结束标记,人们只是认为HTML是一样的。因此,这些标准放弃了,后来进行了修改,向现实伸出了双手。
其他回答
我认为HTML 5参考草案中的这句话提供了答案:
3.2.2.2空隙元件术语void元素用于指定必须为空的元素。这些要求仅适用于HTML语法。在XHTML中,所有这些元素都被视为普通元素,但必须标记为空元素。这些元素完全禁止包含任何内容。在HTML中,这些元素只有开始标记。可以使用自动关闭标记语法。必须省略结束标记,因为元素由解析器自动关闭。HTML示例:HTML语法中的void元素。XHTML语法中不允许这样做。<小时>例子:使用HTML和XHTML兼容的自动关闭标记语法的void元素。<hr/>XHTML示例:使用带有显式结束标记的仅XHTML语法的void元素。这对于HTML语法中的void元素是不允许的。<hr></hr>
换句话说:
无效的HTML 5:<IMG></IMG>有效的HTML 5:<IMG>,<IMG/>
虽然HTML禁止某些结束标记,但xhtml要求它们:
xhtml:<img>无效有效的xhtml:<img></img>或<img/>
HTML中禁止使用结束标记的其他元素:
Element | Valid HTML | Valid xhtml |
---|---|---|
AREA | <AREA> |
<AREA></AREA> |
BASE | <BASE> |
<BASE></BASE> |
BASEFONT | <BASEFONT> |
<BASEFONT></BASEFONT> |
BR | <BR> |
<BR></BR> |
COL | <COL> |
<COL></COL> |
FRAME | <FRAME> |
<FRAME></FRAME> |
HR | <HR> |
<HR></HR> |
IMG | <IMG> |
<IMG></IMG> |
INPUT | <INPUT> |
<INPUT></INPUT> |
ISINDEX | <ISINDEX> |
<ISINDEX></ISINDEX> |
LINK | <LINK> |
<LINK></LINK> |
META | <META> |
<META></META> |
PARAM | <PARAM> |
<PARAM></PARAM> |
HTML禁止某些结束标记,而xhtml需要这些标记,这是xhtml的问题。如果您正在编写HTML,请遵循HTML规则。
与此同时,布罗沃斯放弃了执行这些标准,因为每个人都错了。这并不明显:
禁止</BR></P>是可选的需要</SPAN>
然后xhtml出现了,它的XML规则是每个元素都必须有一个结束标记,人们只是认为HTML是一样的。因此,这些标准放弃了,后来进行了修改,向现实伸出了双手。
根据规范,HTML 5的预期格式是<br>,但允许使用右斜杠。
我只知道<br/>用白线表示休息,而<br>在某些情况下只是表示休息。当我设置IPN脚本(PHP)并发送邮件并查看收件箱时,我遇到了这种情况。不知道为什么,但我只使用<br/>和<br>两种语言,让邮件看起来很整洁
看看这里的邮件:http://snag.gy/cLxUa.jpg
文本的前两部分由<br/>分隔,因此空白行、底部的最后三行文本和最后一部分由<br>分隔,并仅提供新行。
简单<br>就足够了。
其他形式是为了与XHTML兼容;以使编写与XHTML相同的代码成为可能,并使其作为HTML工作。一些生成HTML的系统可能基于XML生成器,因此无法仅输出一个简单的<br>标记;如果您正在使用这样的系统,可以使用<br/>,如果您不需要这样做,则不必使用。
然而,很少有人真正使用XHTML。您需要将内容作为application/xhtml+xml提供,以便将其解释为xhtml,而这在旧版本的IE中不起作用-这也意味着您犯的任何小错误都将阻止页面在支持xhtml的浏览器中显示。因此,web上看起来像XHTML的大部分内容实际上都是作为HTML提供和解释的。有关更多信息,请参阅将XHTML作为text/html提供。
<br/>是最合适的。在需要换行符而不是<br>的Reactjs中也可以使用此标记符号