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