如果最后一个标签的内容后面没有任何内容,是否必须关闭?例如,拥有一个大页面,直到最后的位,这将是
</div>
</body>
</html>
我知道关闭主体和html标签不是完全必要的,至少在纯HTML中是这样,但是最后关闭<div>
权限呢?这有必要吗?比如,某些浏览器会破坏还是什么?
答案 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
是良好的形成错误。这意味着文档的处理终止,文档根本不显示,并且显示错误消息。