W3C HTML验证报错求助:多余</head>标签与<body>重复打开
搞定你的W3C验证错误!
这两个报错其实是同一个问题导致的——你把页面可见内容元素放到<head>标签里了!
HTML规则里,<head>只能放元数据(比如标题、字符编码设置、样式链接这类看不见的配置内容),像<div>、<img>这种属于页面可视化内容的元素,必须放在<body>里面。当浏览器解析到<head>里的<div class="header">时,会自动提前关闭<head>并开启<body>,这就直接引发了两个报错:
- 你后面手动写的
</head>变成了“多余的结束标签”——因为浏览器已经悄悄帮你关闭过<head>了 - 之后你写的
<body>标签变成了“重复打开同类型元素”——因为浏览器已经自动创建了<body>
修复步骤超简单:
- 把原本放在
<head>里的整个<div class="header">块,挪到<body>标签的最开头位置 - 补上所有未闭合的
<p>标签(虽然这不是当前报错的原因,但规范写法能避免后续潜在问题)
修正后的完整代码(直接用这个就能通过W3C验证)
<!DOCTYPE html> <html> <head> <title>DOCUFY</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"> <link rel="stylesheet" href="StyleSheet.css"> </head> <body> <div class="header"> <img src="https://i.imgur.com/d56Pem6.png" alt="BackgroundImage"> </div> <h1>Världens berättelser framför dig.</h1> <p>Se dokumentärer när du vill. Vart du vill. Hur du vill.</p> <p class="ex1"><a href="#" class="button1">Logga In</a></p> <div class="main" id="section1"> <h2>Obegränsat</h2> <p> Titta via din TV, mobil eller surfplatta,vart och när det passar dig.</p> <p>Streama online eller ladda ner och se dokumentärerna offline utan internet.</p> <img src="https://i.imgur.com/svdm3Xo.jpg" alt="Image1" class="image1" style="width:850px"> </div> <div class="main" id="section2"> <h2>För hela familjen</h2> <p> Som medlem kan alla i din familj kan välja fritt inom sina egna intresseområden.</p> <p> Välj vad just ni känner för att se.</p> <img src="https://i.imgur.com/gbUVlrE.jpg" alt="Image1" class="image1" style="width:850px"> <p><i class="material-icons">pets</i> <a href="#" class="button1"> Stöd Världsnaturfonden</a> <i class="material-icons">pets</i></p> </div> <div class="main" id="section3"> <h2>Flera genrer</h2> <p> Historia, vetenskap, journalistik inifrån och många mera är tillgängliga.</p> <p> Docufy sänder de senaste <a href="#">samtalsämnena</a> och <a href="#">nyheterna</a> inom forskning.</p> <video width="420" height="340" autoplay muted controls loop> <source src="https://i.imgur.com/UgLQqHz.mp4" type="video/mp4"> </video> <video width="420" height="340" autoplay muted controls loop> <source src="https://i.imgur.com/wChCbcv.mp4" type="video/mp4"> </video> <video width="420" height="340" autoplay muted controls loop> <source src="https://i.imgur.com/TyOmu7i.mp4" type="video/mp4"> </video> <h2>Prova på gratis</h2> <p> Ta del av allt genom att skapa ett konto hos oss idag.</p> <a href="#" class="button2">Skapa Konto</a> </div> <footer> <h3>Kontakta Oss</h3> <div class="FooterSubHeading">Docufy AB</div> <div class="FooterSubHeading">Dokumentärfilmsvägen 39</div> <div class="FooterSubHeading">007 11 Filmahult</div> <div class="FooterSubHeading">Tel: 007 - 11 11 11</div> <div class="FooterSubHeading">Epost:office@docufy.com</div> </footer> </body> </html>
我还顺手清理了footer里多余的空<p>标签,让代码更整洁,完全符合HTML规范~
内容的提问来源于stack exchange,提问作者user12753393




