看到开始标记头但是已经打开了相同类型的元素

时间:2016-09-07 04:08:14

标签: html

我试图在W3C验证器中处理我的网页。但它始终显示已看到Start标记头但已打开相同类型的元素。但是如果我删除<head>的开始标记,则它会通过。如果我添加开始标记,则会再次出现错误。为什么会这样呢? 这是我的代码

    <!DOCTYPE html>
<html>
<style type="text/css">
table,th,td{
    border:1px solid black;
}
</style>
<head>
<title>Rui's Calendar</title>
<meta charset="UTF-8">
</head>
 <body>
  <h1>Rui's Calendar</h1>
  <table style="width 100%">
   <tr style="color: blue">
     <th>
      <p>Monday</p> 
     </th>
     <td>
      <p><i>9:00-9:50 AM</i><br>PHY 1302 Willey Hall</p>    
     </td>
     <td>
      <p><i>11:00-12:00 AM</i><br>  -   </p>
     </td>
     <td>
     <p><i>5:45-6:30 PM</i><br>CSCI 4041 Akerman Hall</p>
     </td>
   </tr>
   <tr style="color:red">
     <th>
      <p>Tuesday</p>    
     </th>
     <td>
      <p><i>9:00-9:50 AM</i><br>PHY 1302 <a href="http://campusmaps.umn.edu/willey-hall"></a>>Willey Hall</p>
     </td>
     <td>
      <p><i>1:00-2:15 PM</i><br>CSCI 4707 Fraser Hall</p>
     </td>
     <td>
     <p><i>2:30-3:45 PM</i><br>CSCI 4131 Bruininks Hall</p>
     </td>
   </tr>
   <tr style="color: blue">
     <th>
      <p>Wednesday</p>
     </th>
     <td>
      <p><i>9:00-9:50 AM</i><br>PHY 1302 Blegen Hall</p>    
     </td>
     <td>
      <p><i>1:00-2:15 PM</i><br>-</p>
     </td>
     <td>
     <p><i>2:30-3:45 PM</i><br>-</p>
     </td>
   </tr>
   <tr style="color: red">
     <th>
      <p>Thursday</p>   
     </th>
     <td>
      <p><i>9:00-9:50 AM</i><br>PHY 1302 Blegen Hall</p>    
     </td>
     <td>
      <p><i>1:00-2:15 PM</i><br>CSCI 4707 <a href="http://campusmaps.umn.edu/fraser-hall">Fraser Hall</a></p>
     </td>
     <td>
     <p><i>2:30-3:45 PM</i><br>CSCI 4131 Bruininks Hall</p>
     </td>
   </tr>
   <tr style="color: blue">
     <th>
      <p>Friday</p>>    
     </th>
     <td>
      <p><i>9:00-9:50 AM</i><br>PHY 1302 Willey Hall</p>    
     </td>
     <td>
      <p><i>1:00-2:15 PM</i><br>-</p>
     </td>
     <td>
     <p><i>2:30-3:45 PM</i><br>-</p>
     </td>
   </tr>


  </table>
 </body>
</html>

2 个答案:

答案 0 :(得分:0)

如果必须包含样式标记,请将其包含在head标记内。这应该可以解决您的错误。优选地,您可以使用单独的CSS文件进行样式设计。

答案 1 :(得分:0)

错误“开始标记head已见过,但同一类型的元素已经打开。”因为head元素的开始标记是可选的而发生。

由于样式元素只能存在于头部内部,因此解析器知道在遇到<style>时打开头元素,基本上插入一个不可见的<head>开始标记。
这里没有生成错误或警告,因为正如我所说,<head>开始标记是可选的。离开它很好。 (不推荐。)
但是然后解析器遇到你的<head>开始标记,并且发生了错误,因为头部已经打开了!

希望这可以解释事情。