验证HTML后,我收到此错误。
第18行,第60列:文档类型不允许元素“div”在这里;缺少“object”,“applet”,“map”,“iframe”,“button”,“ins”,“del”start-tag
<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>
标记,但在这种情况下我必须,您有什么建议?
答案 0 :(得分:3)
使用<span>
代替,这是合法的。
答案 1 :(得分:2)
<span>
和<div>
之间的唯一区别是默认情况下<span>
是display:inline;
元素,而<div>
是display:block;
}默认情况下的元素。
您希望在内联元素(<a>
)中使用内联元素,因为在其中包含块元素没有意义。内联元素继续页面的“流”,而块元素则打破流(即转到下一行)。
通常在这些情况下,您可以毫无问题地使用<span>
。
编辑:让<a>
元素生成display:block;
也可以解决您的问题。
编辑:在<li>
代码中包含<a>
实际上不是有效的HTML,它们必须位于<ul>
或{{1 }}
以下是一些可以正常使用的选项,无需额外的CSS。
<ol>
或者
<a class="img" href="#">
<span>Item 1</span>
</a>
或者
<div>
<a class="img" href="#">Item 1</a>
</div>
答案 2 :(得分:0)