web-dev-qa-db-ja.com

<link> vs <a>:どちらを使用するか

<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" />

これらの2つのタグは交換可能ですか?また、これが可能である場合、どのようにして他のものよりも一方を選択し、なぜですか?

更新:

<a>タグのrel属性に関するThe Complete Reference HTML&CSS本で見たので、私はその混乱を得ました:

relhref属性を含むアンカーの場合、この属性はリンクオブジェクトに対するターゲットオブジェクトの関係を指定します。

したがって、<link>タグと同じ機能を実行できると考えました。

29
Tarik

属性は、含まれているタグとは異なります。

<link />空の要素 です。つまり、中に何も入れることはできません。他のドキュメントとの関係を指定するだけです。さらに、<link>タグは<head>セクションでのみ使用されます。

<a></a> は、空の要素ではなく、ページ上に作成されるオブジェクト(クリック可能なリンクや画像など)を指定します。これにより、ユーザーは他の場所に移動します。このタグは、<body>セクションでのみ使用されます。

そのため、タグcanは同じ属性を持つことができますが、同じことを行うわけではありません。

34
Jon Egeland

Aタグを使用してcssをHTMLドキュメントに追加することはできません。これは、ドキュメント間でクリック可能なハイパーリンクを作成するためのものだからです。

しかし、ユーザーがCSSファイルをダウンロードできるリンクを作成したい場合は、これを行うことができます

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

うん、ジョンは正しい、

彼の答えへのもう一つの追加は、

<a>insideanchortag</a>はエンドユーザーに表示されます

ただし、<link />エンドユーザービューのデータ。検査要素でのみ表示されます。

7
Akilsree1