【问题标题】:<link> vs <a>: when to use one over the other?<link> vs <a>:什么时候使用一个而不是另一个?
【发布时间】:2015-04-23 09:03:15
【问题描述】:

&lt;link&gt;&lt;a&gt; 之间有些混淆。

我知道为了给 HTML 文档添加 CSS,我们使用 &lt;link&gt; 标签,例如:

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

但是,我不明白为什么我们不使用锚&lt;a&gt; 标签(因为它包含相同的必要属性),例如:

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

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

更新:

我感到困惑,因为我在 The Complete Reference HTML & CSS 一书中看到了关于&lt;a&gt; 标签的rel 属性,即:

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

所以我认为它可以做与&lt;link&gt;标签相同的功能。

【问题讨论】:

  • 有比较吗?
  • @NaeemShaikh 有可能吗?
  • 为什么会这样......他们都有不同的功能
  • @NaeemShaikh 这是一个不恰当的问题吗?
  • @Tarik 这是一个有效的问题,只是大多数人认为答案是微不足道的,或者他们不像你那样思考这个问题。

标签: html hyperlink anchor stylesheet-link-tag


【解决方案1】:

属性与其所在的标签不同。

&lt;link /&gt; 是一个empty element,即它里面不能有任何东西。它所做的只是指定与另一个文档的关系。此外,&lt;link&gt; 标签仅用于&lt;head&gt; 部分。

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

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

【讨论】:

  • 谢谢你的解释,这也意味着我们不能使用 来添加样式?因为 rel 并不意味着同样的事情?对吗?
  • 伟大的区别。布局合理
  • @Tarik:没错。从字面上打开此页面的源代码,您将看到用例。
  • 没错。正如 Piotr Perak 的回答所说,使用 a 标签只会创建一个指向 css 文件的可点击链接,而不是实际将其包含在文档中。
  • 实际上 从 2016 年开始就可以在正文中使用。请参阅this。所以答案需要更新。
【解决方案2】:

您不能使用 A 标记将 css 添加到 HTML 文档,因为它是用于在文档之间创建可点击的超链接。

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

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

【讨论】:

    【解决方案3】:

    是的,乔恩是对的,

    他的答案还有一个补充是,

    &lt;a&gt;insideanchortag&lt;/a&gt; 中的任何内容都对最终用户可见

    但您无法在最终用户视图中看到 &lt;link /&gt; 数据, 它仅在检查元素中可见。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-26
      • 2019-09-07
      • 1970-01-01
      • 2011-03-20
      • 2011-10-01
      • 2015-03-03
      • 2020-06-08
      • 2011-11-19
      相关资源
      最近更新 更多