0

验证我的 HTML 后出现此错误。

第 18 行,第 60 列:文档类型在此处不允许元素“div”;缺少“object”、“applet”、“map”、“iframe”、“button”、“ins”、“del”开始标签之一

 <a href="index.html"><div class="item" id="home"><br />

我认为它说我不允许在“a”标签中使用 DIV,但如果这里不是 div,我必须使用图层才能获得所需的视图。我可以用什么来代替 div?

错误消息包括以下几行:

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

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

我收到该行的另一条错误消息:

<a class="img" href="#"><li>Item 1</li></a>

我想我不能<li> </li>在标签内使用<a> </a>标签,但在这种情况下我必须这样做,你有什么建议?

4

3 回答 3

3

使用 a<span>代替,这是合法的。

于 2013-03-05T13:21:54.800 回答
2

<span>a和 a的唯一区别<div>是a默认是一个元素,默认<span>是一个元素。display:inline;<div>display:block;

您想在内联元素 ( ) 中使用内联元素,<a>因为在其中包含块元素没有意义。内联元素继续页面的“流程”,而块元素中断流程(即转到下一行)。

通常在这些情况下,您可以<span>毫无问题地使用 a 。

编辑:使您的<a>元素具有display:block;make 也可以解决您的问题。

编辑:<li>在标签内包含 a实际上不是有效的 HTML <a>,它们必须在 a<ul><ol>.

这里有一些可以正常工作的选项,不需要额外的 CSS。

<a class="img" href="#">
    <span>Item 1</span>
</a>

或者

<div>
    <a class="img" href="#">Item 1</a>
</div>

或者

<ul>
    <li>
        <a class="img" href="#">Item 1</a>
    </li>
</ul>
于 2013-03-05T13:22:27.677 回答
0

验证的唯一方法是将您的文档类型更改为 HTML5,如上一篇文章中所述:

有效的 HTML:'a' 元素内的 ul、p、div

希望这可以帮助。

于 2014-04-22T15:29:53.003 回答