我创建了这段代码。
<a href="#">
<!-- BEGIN #btnBox .btnBox -->
<div id="btnBox2" class="btnBox">
<div class="btnleft"></div> <!-- BEGIN & END .btnleft -->
<!-- BEGIN .btncenter -->
<div class="btncenter">
<div id="btnText2" class="btnText">Want more? - check out my recent work</div>
</div>
<!-- END .btncenter -->
<div class="btnright"></div> <!-- BEGIN & END .btnright -->
</div>
<!-- END #btnBox .btnBox -->
</a>
当我在W3 HTML验证下验证代码时,它给了我一个错误:
Line 163, Column 41: document type does not allow element "DIV" here; missing one of "OBJECT", "MAP", "BUTTON" start-tag
我正在使用
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
答案 0 :(得分:7)
Div是块级元素 - 它们不应包含在Anchor标记中。
答案 1 :(得分:7)
除法<div>
是块级元素,而锚<a>
是内联元素。来自w3c web site:
通常,块级元素可以包含内联元素和其他块级元素。通常,内联元素可能只包含数据和其他内联元素。这种结构区别的固有特征是块元素比内联元素创建“更大”的结构。
您可能正在使用分部,因为您需要块级行为,例如width
和height
。
在不更改DOCTYPE的情况下,您可以使用CSS属性display
使<span>
元素的行为与<div>
元素类似:
<a href="#" class="forMuzammil">
<!-- BEGIN #btnBox .btnBox -->
<span id="btnBox2" class="btnBox">
<span class="btnleft"></span> <!-- BEGIN & END .btnleft -->
<!-- BEGIN .btncenter -->
<span class="btncenter">
<span id="btnText2" class="btnText">Want more? - check out my recent work</span>
<!-- END .btncenter -->
</span>
<span class="btnright"></span> <!-- BEGIN & END .btnright -->
<!-- END #btnBox .btnBox -->
</span>
</a>
a.forMuzammil {
display:block;
}
a.forMuzammil span {
display:block;
}
答案 2 :(得分:1)
div
标记内不能包含a
标记。同样在您提供的代码示例中,您不要关闭a
标记。
答案 3 :(得分:0)
如果您使用的是HTML4文档类型,则无法在a-tag中使用DIV
等块元素。
请尝试使用此doctype:
<!DOCTYPE html>
并确保为锚标记添加缺少的结束标记; </a>
<!DOCTYPE html>
是HTML5的doctype。根据HTML5的标准div
标签现在允许在a
标记内
希望这有帮助。