如果在最后一个标签的内容之后没有任何内容,它是否必须关闭?

时间:2013-12-15 03:05:34

标签: html

如果最后一个标签的内容后面没有任何内容,是否必须关闭?例如,拥有一个大页面,直到最后的位,这将是

        </div>
    </body>
</html>

我知道关闭主体和html标签不是完全必要的,至少在纯HTML中是这样,但是最后关闭<div>权限呢?这有必要吗?比如,某些浏览器会破坏还是什么?

3 个答案:

答案 0 :(得分:1)

您应该始终关闭所有代码。

答案 1 :(得分:1)

Web浏览器的设计目的是在标记错误时不会破坏。它们会尽可能地显示,因此页面将会显示。

如果不关闭最后一个div,页面布局是否看起来很糟糕可能取决于应用于div的样式。但最有可能的是,你不会注意到任何差异。

答案 2 :(得分:1)

除了XHTML之外,永远不需要结束标记</body></html>,省略它们对有效文档没有任何影响。

任何</div>元素始终需要结束标记div,但在文档末尾省略它会使浏览器暗示它,因此在DOM中创建div元素好像</div>结束标记就在那里。这是在HTML5的The HTML syntax部分中形式化的,尽管那里的表述(尽管很详细)并未明确指定此错误处理。相反,它表示在遇到文件末尾时,打开元素堆栈中的所有节点都“弹出”。意图是这些元素被隐式关闭并以堆栈顺序添加到DOM中。

但是,缺少</div>标记被归类为“解析错误”。这意味着,根据HTML5 CR,“解析错误的错误处理是明确定义的[...],但是用户代理在解析HTML文档时,可能会在遇到的第一个解析错误时中止解析器。他们不希望应用本规范中描述的规则。“这当然是自相矛盾的(根据浏览器的选择,如果错误可能会或可能不会中止解析,则错误处理没有明确定义)。没有浏览器可以通过这种方式中止解析。然而,省略</div>仍然是毫无意义的风险。

在XHTML中,当作为真实XHTML处理而不是伪装成HTML(Content-Type: text/html与指定XML类型相反)时,任何</div>元素缺少div是良好的形成错误。这意味着文档的处理终止,文档根本不显示,并且显示错误消息。