Air*_*bat 6 html w3c-validation
我刚刚经历了一个我当前的项目,并删除了多余的html和css,在不需要的地方删除了div,例如不需要div的abjects,我想知道,为什么我们需要围绕一切:
<a href="Cake">
<div>
<p>This is not a lie.</p>
</div>
</a>
Run Code Online (Sandbox Code Playgroud)
为什么不允许简单地允许:
<div href="Cake">
<p>This is not a lie.</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我在这里过于简化了,但这是关于概念的.
在HTML中,每个标签都有一个含义和功能.有时它纯粹是美学(<b>粗体文本),有时它是语义(<span>,一大块内联文本),有时两者(<h1>,标题从这里开始).关键是用语义标记文本部分.
该<a>标签是一个超链接.几乎所有<a>和之间的一切都</a>应该像这样:如果点击,跳转到某个URL.现在该URL是<a>标记的属性,您可以通过它指定它href.
这href在<a>标签之外没有任何意义,因为当HTML诞生时,CSS和JavaScript不存在,所以你不能<span>像我们今天那样做一个可点击的东西.但即使在今天,允许元素采用其他元素的功能也没有意义,因为它会污染它们的语义.
在第二个示例中,您已完全删除了<a>标记,因此它不再是链接.即使解析器允许href使用div,但突然使其表现得像a标签一样是错误的,因为它不是.