我尝试过检查其他答案,但我仍然感到困惑——尤其是在看到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/>?
当前回答
嗯。。。。。有人知道一个单一的供应商、用户代理或浏览器制造商曾经100%遵守W3C规范吗???因此,如果HTML5表示它支持所有三个break元素版本,那么你可以打赌供应商支持相同的甚至更糟糕的版本!
在这场辩论中,唯一重要的是尽可能坚持使用符合XML规范和HTML规范的编码。这意味着您应该使用break标记的正确XML版本,并鼓励您的所有团队都这样做:
<br />
代码中的img、a、hr和meta标记应采用相同的空格斜杠格式。为什么?因为:
它与旧的XHTML用户代理/浏览器向后兼容浏览器供应商无论如何都支持XML版本,因此HTML5规范没有意义。现在、过去和将来大多数用户代理的草率实现都会接受它。它允许您的标记与XML标准相比较,如果您需要返回到从标记创建XHTML/XML文档。对于所有WEB开发人员来说,继续使用遵循XML的坚实标记实践是“良好的编码实践”,包括所有小写的编码、引用的属性、转义的XML字符等。为什么?将来,如果您必须切换到XML数据,您将自动使用XML进行编码和思考。我们只能希望,在未来的万维网中,我们不再使用私有供应商实施的标准,而是使用可靠、可靠、经过验证的标记,这些标记可以更快地解析数据,更快地通过网络传输数据,并使我们未来的互联网成为使用XML的更标准化的媒介。旧的Netscape总是需要斜线前的“/”空格,否则会失败。谁在乎旧浏览器,对吧?但我仍然喜欢我的版本:)
此外,在这里的机器人和机器世界中,机器人没有HTML5为我们解决的相同的人机界面编码问题,他们会很乐意回到XML数据系统,并在转换为XML数据时更快地解析这样的UI网页。
其他回答
XML不允许打开标记,因此它比其他两个标记更糟糕。另外两个与第二个(<br/>)大致相当,以兼容较旧的浏览器。实际上,出于兼容性的考虑,/之前的空格是首选的,但我认为这只适用于具有属性的标记。所以我会说<br/>或<br/>,无论你的审美如何。
综上所述:这三个都是有效的,第一个(<br>)不那么“便携”。
编辑:现在我们都对规格着迷,我认为值得指出的是,根据dev.w3.org:
开始标记包括以下内容零件,完全按照以下顺序:“<”字符。元素的标记名。(可选)一个或多个属性,每个属性必须前面有一个或多个空格字符。(可选)一个或多个空格字符。(可选)“/”字符,仅当元素是空元素。“>”字符。
<br>和<br/>呈现不同。一些浏览器将<br/>解释为<br></br>并插入两个换行符
如果你对可比性(不是兼容性,而是可比性)感兴趣,那么我会坚持<br/>。
否则,<br>没问题。
<br/>是最合适的。在需要换行符而不是<br>的Reactjs中也可以使用此标记符号
嗯。。。。。有人知道一个单一的供应商、用户代理或浏览器制造商曾经100%遵守W3C规范吗???因此,如果HTML5表示它支持所有三个break元素版本,那么你可以打赌供应商支持相同的甚至更糟糕的版本!
在这场辩论中,唯一重要的是尽可能坚持使用符合XML规范和HTML规范的编码。这意味着您应该使用break标记的正确XML版本,并鼓励您的所有团队都这样做:
<br />
代码中的img、a、hr和meta标记应采用相同的空格斜杠格式。为什么?因为:
它与旧的XHTML用户代理/浏览器向后兼容浏览器供应商无论如何都支持XML版本,因此HTML5规范没有意义。现在、过去和将来大多数用户代理的草率实现都会接受它。它允许您的标记与XML标准相比较,如果您需要返回到从标记创建XHTML/XML文档。对于所有WEB开发人员来说,继续使用遵循XML的坚实标记实践是“良好的编码实践”,包括所有小写的编码、引用的属性、转义的XML字符等。为什么?将来,如果您必须切换到XML数据,您将自动使用XML进行编码和思考。我们只能希望,在未来的万维网中,我们不再使用私有供应商实施的标准,而是使用可靠、可靠、经过验证的标记,这些标记可以更快地解析数据,更快地通过网络传输数据,并使我们未来的互联网成为使用XML的更标准化的媒介。旧的Netscape总是需要斜线前的“/”空格,否则会失败。谁在乎旧浏览器,对吧?但我仍然喜欢我的版本:)
此外,在这里的机器人和机器世界中,机器人没有HTML5为我们解决的相同的人机界面编码问题,他们会很乐意回到XML数据系统,并在转换为XML数据时更快地解析这样的UI网页。