vs <a>: when to use one over the other?</a>

时间:2015-02-21 19:06:59

标签: html hyperlink anchor stylesheet-link-tag

<link><a>之间存在一些混淆。

我知道为了将CSS添加到HTML文档,我们使用<link>标记,例如:

<link type="text/css" rel="stylesheet" href="/spinner/styles.css?ln=css" />

但是,我无法理解为什么我们不使用锚<a>标签(因为它包含相同的必要属性),例如:

 <a type="text/css" rel="stylesheet" href="/spinner/styles.css?ln=css" />

这两个标签是否可以互换?此外,如果这是可能的,那么我们如何选择一个而不是另一个?为什么?

更新

我有这种困惑,因为我在 The Complete Reference HTML&amp;关于rel标记的<a>属性的CSS 书,其中:

  

rel :对于包含href属性的锚点,此属性   指定目标对象与链接对象的关系。

所以我认为它可以执行与<link>标记相同的功能。

3 个答案:

答案 0 :(得分:32)

属性与它们所在的标记不同。

<link />empty element,即它内部没有任何内容。它所做的只是指定与另一个文档的关系。此外,<link>标记仅用于<head>部分。

另一方面,

<a></a>不是一个空元素,它指定要在页面上创建的对象 - 如可点击的链接或图像 - 将用户带到其他位置。此标记仅用于<body>部分。

因此,即使标签可以具有相同的属性,但这并不意味着它们会做同样的事情。

答案 1 :(得分:9)

您无法使用A标记将CSS添加到HTML文档,因为它用于在文档之间创建可单击的超链接。

但是如果您想创建允许用户下载css文件的链接,您可以这样做

<a type="text/css" rel="stylesheet" href="/spinner/styles.css?ln=css">Download css</a>

答案 2 :(得分:7)

Yup Jon是对的,

他的答案还有一个补充,

最终用户可以看到<a>insideanchortag</a>中的任何内容

但是你无法在最终用户视图中看到<link />数据, 它只在inspect元素中可见。