【问题标题】:I can't see the mistake in my HTML file我在我的 HTML 文件中看不到错误
【发布时间】:2013-04-18 13:32:01
【问题描述】:

我尝试验证我的 HTML 代码,但出现此错误:

第 157 行,第 22 列:文档类型在此处不允许元素“div”;缺少“object”、“applet”、“map”、“iframe”、“button”、“ins”、“del”开始标签<div class="details">

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

此消息的一个可能原因是您试图将 内联中的块级元素(例如“<p>”或“<table>”) 元素(例如“<a>”、“<span>”或“<font>”)。

但我的代码中看不到任何错误,所以我寻求帮助...

<!--Bar 3-->

<div class="mosaic-block bar3">

<a href="http://www.desktopped.com/featured/2010/09/multi-d isplay-setup-with-four-systems-and-a-whole-lot-of- screen-space/" target="_blank" class="mosaic-overlay">

<div class="details">

<h4>Multi-Display Setup With Four Systems, A Wall of Screens, And 64TB Of Storage</h4>

<p>via Desktopped</p>

</div>

</a>

<a href="http://www.nonsensesociety.com/2010/12/i-am-not-hu man-portraits/" target="_blank" class="mosaic-backdrop"><img src="http://buildinternet.s3.amazonaws.com/projects/mos aic/64tb.jpg" alt="fotka1"/></a>

</div>

【问题讨论】:

  • 通过删除元素来减少你的测试用例,直到错误消失——然后你就会找出你的罪魁祸首。还要指出代码示例中错误消息所指的位置。

标签: html


【解决方案1】:

块不能放置在行内元素中。在这种情况下,a 是内联的,div 是块状的,所以 &lt;a&gt;&lt;div&gt;&lt;/div&gt;&lt;/a&gt; 是无效的 HTML。

【讨论】:

  • 不管怎样,这样做不太可能导致浏览器出现任何问题——我猜他们只会将其视为inline-block
  • 这是无效的 HTML,所以你不应该这样做,因为浏览器中的输出是未定义的。
  • @millimoose 问题是关于验证 HTML。它可以在浏览器中正常工作,但验证失败。
  • 那么如何让这些 div 像链接一样呢?
  • @user2295265 在要链接的文本周围放置多个 &lt;a&gt; 元素。
猜你喜欢
  • 2017-08-10
  • 2017-05-23
  • 2013-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-27
  • 1970-01-01
相关资源
最近更新 更多