【问题标题】:HTML validation error document type does not allow element "hr"HTML 验证错误文档类型不允许元素“hr”
【发布时间】:2014-01-30 10:11:01
【问题描述】:

我想使用UL 将文章列表显示为图片、标题、小时和日期。但是当我在测试实际网站时在http://validator.w3.org/ 上测试它们时出现验证错误

以下是虚拟模式,几乎是实际 HTML 的副本

文档类型不允许在此处使用元素“hr”;缺少一个 “object”、“applet”、“map”、“iframe”、“button”、“ins”、“del”开始标签

                                    <hr />

所提到的元素不允许出现在上下文中 你已经放置了它;其他提到的元素是唯一的元素 都允许在那里并且可以包含提到的元素。这 可能意味着您需要一个包含元素,或者您可能已经 忘记关闭前一个元素。

此消息的一个可能原因是您试图将 块级元素(例如“

" 或 "") 内联 元素(例如“”、“”或“”)。

HTML 代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
</head>
<body>
<div class="listwrapper">
  <ul>
    <li>
      <img src="http://lorempixum.com/100/100/nature/1" alt="image" />
      <span>Headline</span>
      <p>Lorem ipsum dolor sit amet...</p>
          <hr/>
    </li>

    <li>
      <img src="http://lorempixum.com/100/100/nature/2" alt="image"/>
      <span>Headline</span>
      <p>Lorem ipsum dolor sit amet...</p>
          <hr/>
    </li>

    <li>
      <img src="http://lorempixum.com/100/100/nature/3" alt="image"/>
      <span>Headline</span>
      <p>Lorem ipsum dolor sit amet...</p>
          <hr/>
    </li>

    <li>
      <img src="http://lorempixum.com/100/100/nature/4" alt="image"/>
      <span>Headline</span>
      <p>Lorem ipsum dolor sit amet...</p>
          <hr/>
    </li>
  </ul>
</div>
</body>
</html>

更新:我尝试用 div、span 替换 html,但我一直产生同样的错误

【问题讨论】:

  • &lt;hr/&gt; 不应在&lt;ul&gt;&lt;li&gt; 中使用。很确定这就是错误的意思。
  • 这就是导致错误的原因,将其替换为 span div 也会产生相同的错误
  • 而不是
    ,为什么不在 CSS 中为
  • 设置一些额外的边距/填充并添加边框底部?
  • 就像汉斯在回答中所说的那样,您不能将块元素放入内联元素中。但是既然你已经解决了这个例子中的问题(这个例子does validate as XHTML),你为什么不简单地将相同的解决方案应用于实际的网页呢?
  • 另外,你为什么还要使用 XHTML?您的问题的其余部分仅涉及 HTML,似乎对 XHTML 没有任何要求。
  • 标签: html html-validation


    【解决方案1】:

    关于 HR 的 w3schools 页面说它用于在内容中创建一个中断以切换主题等。所以我猜你“不能”在内联元素中使用它。我会喜欢 cmets 中建议的@stckrboy,而是使用 CSS 创建行。

    【讨论】:

    • 我敢于对这个答案投反对票的任何人尝试找出 Hans 链接到的页面的问题。好吧,除了 W3Schools 坚持称元素为“标签”。在他们的例子中,他们在同一个块中使用了两个 h1 元素......
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签