标签头的杂散结束

时间:2014-10-29 17:40:13

标签: html

我正在尝试学习在HTML中使用框架集。所以,我和朋友开了一个小网站。 在下一页(index.html)中,我在第13行收到错误:“头部标记的杂散结束”。为什么我会收到此错误?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html>
    <head>
        <title>Metal's page</title>

        <frameset cols = "20%,*" frameborder = "0">
            <frame src = "pages/menu.html">
            <frameset rows = "10%,*" frameborder = "0">
                <frame src = "pages/title.html">
                <frame name = "main" src = "index.html">
            </frameset>
        </frameset>
    </head> 

    <body bgcolor = red>
        <br/><br/><br/>
        <p>Hello, my name is Mihai, but one of my best friend call me "Metal". This is our web page. Enjoy!</p>
        <br/><br/>
    </body>
</html>

网站地址:metalblog.besaba.com 谢谢!

3 个答案:

答案 0 :(得分:1)

除非您手动告诉验证程序忽略DOCTYPE并使用HTML 4.01框架集,否则您实际上并没有收到该文档的错误消息。

如果您这样做,或者您将DOCTYPE更改为HTML 4.01框架集DOCTYPE,则会收到错误“元素结束标记&#34; HEAD&#34;由于<frameset ...>隐式关闭​​head元素,因此未打开“,因此您不能再次关闭它。

隐式关闭的原因是在Frameset document中,frameset元素在body之后显示而不是 head元素元素。没有body元素,因为帧的内容都是显示的。

以下文件证实:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
                      "http://www.w3.org/TR/html4/frameset.dtd">
<html>
    <head>
        <title>Metal's page</title>
    </head> 
        <frameset cols = "20%,*">
            <frame src = "pages/menu.html">
            <frameset rows = "10%,*">
                <frame src = "pages/title.html">
                <frame name = "main" src = "index.html">
            </frameset>
        </frameset>
</html>

请注意,我删除了frameborder属性。它们在HTML 4.01(或任何其他HTML版本)中无效。如果要删除框架之间的边框,则必须使用该属性并接受该文档无效。至少在几个赛季之前没有办法移除边界,当时有些人还在使用框架,尽管上个赛季也是如此;我不认为这方面有任何改变。

答案 1 :(得分:0)

这可能是因为你已经将你的框架设置在头部标签内,而不是身体标签。所有内容都应该放在身体里。

答案 2 :(得分:0)

首先,您使用的是严格的DOCTYPE,它不允许使用框架集。更改为框架集DOCTYPE。通过validator.w3.org运行您的标记,直到您没有错误。