为什么<a> tags actually exist?</a>

时间:2014-05-10 09:30:11

标签: html hyperlink anchor

我只是想知道这件事。为什么<a>标签确实存在?当然,添加链接到元素的更好方法是允许在任何元素上使用href,以便它可以作为到另一个地方的链接。

比如说,目前你有一张专辑:

<div class="album">
  <a class="album__link" href="[url]">
    <img src="[source]" class="album__photo" />
    <h2 class="album__title">[title]</h2>
  </a>
</div>

以上可以更好地编写如下:

<div class="album" href="[url]">
  <img src="[source]" class="album__photo" />
  <h2 class="album__title">[title]</h2>
</div>

只是想知道每个人对此的想法是什么。可能是一个愚蠢的问题但是如果我不问那么我就赢了;我会听到别人怎么想我?

3 个答案:

答案 0 :(得分:4)

你已经可以了

<a class="album" href="[url]">
  <img src="[source]" class="album__photo" />
  <h2 class="album__title">[title]</h2>
</a>
HTML5中的

。这有什么问题? <div>没有任何意义,所以我认为这里没有必要。如果您需要块容器,只需在CSS上设置display: block链接(.album)。

是什么让您认为<a>是不必要的标签?您的视图中是否有必要的标签?您如何规划当前由<a>targetrelhreflang等处理的支持链接相关功能?

答案 1 :(得分:1)

使用href on any element was a feature of the now abandoned XHTML 2.0的想法。但是,它会导致太多问题。

许多HTML元素已经具有与链接行为冲突的点击激活行为,因此网络作者必须记住哪些元素href可以使用,哪些不可以。

此外,href属性并非独立存在。它还包含其他内容,例如targetdownloadrelhreflangtype,这些内容也需要放在每个元素上。这反过来会导致与其他元素的type属性的含义发生冲突。

所以它已经被考虑过了,而且与专门的元素相比,它太麻烦了。

答案 2 :(得分:0)

将href =“”设置为&lt; div&gt;之间的区别和&lt; a&gt;是他们有不同的显示类型。在&lt; div&gt;上它将选择整个块(显示:块;),这样你就可以点击div中的任何地方并打开链接并在&lt; a&gt;上。它只会选择文字。