我注意到一些Stackoverflow问题表明在单个html页面上有多个<html>
标记会导致文档无效(example 1,example 2)
但是,我遇到了this page,它使用了多个<html>
和</html>
代码,但仍能正常显示。是因为HTML已经改变了吗?或者是因为每个<html>
标签用于在每个页面上显示特定标签?
答案 0 :(得分:2)
我会说这(即你链接到的页面)只是无效(即错误的)代码。如果您在该页面中打开浏览器工具,您会发现浏览器不仅忽略了所有那些多余的HTML标记,而且甚至将它们过滤掉 - 您无法在代码中找到它们(在Inspector中)。因此,浏览器会自动更正这些错误,并且或多或少地正确显示页面。
答案 1 :(得分:1)
这是浏览器可以容忍错误的html。 html无效,但浏览器能够自行更正并成功呈现页面。由于第二个出现在<head>
之后,浏览器可能正确地推断出这是不正确的并忽略它。
答案 2 :(得分:0)
源代码唯一可以包含多个html标记的时间是iframe
个标记或较早的frame
标记。例如,iframe可以在其中包含整个html页面