-5

在旧的 HTML <p>标记中是简单的分隔符,例如<hr> or <br>. 它已更改为 container <p></p>。这对我来说没有意义。他们可以<div></div>用作容器,然后保持<p>原样。W3C 为什么这样做?

4

2 回答 2

6

<p>从来都不是“简单分隔符”,至少在任何标准版本的 HTML *中都不是。它是一个容器元素——一个“段落”,因此是“p”——而且一直都是。恰好结束标签是可选的,所以很多人(a*hem*)一直在错误地使用它。

* 看起来HTML 规范的早期草案说这<p>是一个分隔符。但是到第一个公共标准版本(2.0)时,它是一个容器,从那以后就一直是这样。

于 2012-10-02T15:20:33.177 回答
2

HTML 中没有分隔符之类的东西。

<hr>并且<br>是空标签。它们更正确地写为<hr/><br/>。如果您使用的是 XHTML,您将使用<hr/>来指示一个空块。然而,由于这些元素总是空的,<hr>在非 X HTML 中就可以了。但这并不能使它们成为“分隔符”。

旧版本的 HTML 允许在执行 HTML 规则时极其松懈。浏览器旨在支持草率的 HTML 代码,其中经常包括用户忽略关闭他们打开的元素。

或“<p>段落”标签就是一个很好的例子。

这种方法的问题在于浏览器必须推断 HTML 作者的意思。随着页面变得更加高级,JavaScript 与页面的交互变得更加重要,浏览器有必要对 HTML 进行更严格的解释,以便 JS 作者可以确保他们与生成的文档模型正确交互。

所以,简而言之,所发生的一切就是浏览器不像以前那样支持编写得很糟糕的 HTML。总而言之,这是一件好事。

于 2012-10-02T15:23:33.560 回答