link 要素文書を他の外部リソースと関連付ける

link 要素は文書を他の外部リソースと関連付けます。

外部スタイルシートを読み込む目的で利用されるケースはおなじみですが、スタイルシートだけでなく、外部リソースと文書を関連付けることができます。対応しているブラウザでは、この link 要素を使用してナビゲーションリンクを表示したりすることもできます。

link 要素の仕様

カテゴリ
コンテンツモデル
この要素を使用できる文脈
  • head 要素の子要素である noscript 要素の子要素として
  • メタデータ・コンテンツが期待される場所
  • itemprop 属性が付与された場合はフレージングコンテンツが期待される場所
この要素で使用できる属性

この要素に対して使用される title 属性は、特別な意味をもちます。

詳細説明

link 要素に指定できる属性

属性 概要
href 属性 リンク先の URI を指定します。
rel 属性 現在の文書からみた、リンク先となるリソースの位置づけを指定します。
media 属性 リンク先の外部リソースが、どのメディアに適用するのかを指定します。
hreflang 属性 リンク先文書の記述言語を指定します。
type 属性 リンク先の MIME タイプを指定します。
sizes 属性 関連付けられた画像ファイルなどのサイズを指定します。
crossorigin 属性 CORS (Cross-Origin Resource Sharing / クロスドメイン通信) 設定属性です。サードパーティ (元の文書とは異なるオリジン) から読み込んだ画像などのリソースを利用する際のルールを指定します。
integrity 属性 サブリソース完全性(SRI)機能を用いて、取得したリソースが予期せず改竄されていないかをユーザエージェントが検証するためのハッシュ値を指定します。
referrerpolicy 属性 リンク先にアクセスする際、あるいは画像など外部リソースをリクエストする際にリファラ(アクセス元の URL 情報)を送信するか否か(リファラポリシー)を指定します。
as 属性 link 要素によって読み込まれるコンテンツの種類を指定します。link 要素に rel="preload" または rel="prefetch" が指定された場合にのみ使用可能です。
color 属性 link 要素において、rel="mask-icon" が指定された場合にのみ有効な属性です。ブラウザがピン止め機能で使用する色を指定します。

link 要素によるスタイルシートの読み込み

link 要素に rel="stylesheet" を指定することでスタイルシートファイルと文書を関連付けることができますが、この際、rel属性値に alternate stylesheet 値と、title 属性によって名前を与えることで、閲覧者によって切り替え可能な代替スタイルシートを提供することができます。

固定 / 優先 / 代替スタイルシート

文書に読み込まれるスタイルシートには 3種類の優先順位があります。通常は title 属性を付与せずに読み込まれる固定スタイルシートです。下記のように読み込みます。

<link rel="stylesheet" href="style.css" />

これに対して title 属性を付与すると、そのスタイルシートは優先スタイルシートとして扱われます。下記のように 3つのスタイルシートを文書内で読み込むと、1行目の固定スタイルシートは通常通り読み込まれますが、2行目、3行目の優先スタイルシートは、先に記述された 「スタイル01」 だけが読み込まれることになります。

<link rel="stylesheet" href="style.css" />
<link rel="stylesheet" href="style01.css" title="スタイル01" />
<link rel="stylesheet" href="style02.css" title="スタイル02" />

さらに、代替スタイルシートは閲覧者が選択できるスタイルとして提供されます。rel属性値に alternate stylesheet 値を与え、title 属性をあわせて指定します。

<link rel="stylesheet" href="style.css" />
<link rel="alternate stylesheet" href="style01.css" title="スタイル01" />
<link rel="alternate stylesheet" href="style02.css" title="スタイル02" />

これにより、閲覧者は、ブラウザのメニューなどから、「スタイル01」、「スタイル02」 という代替スタイルを選択することができるようになります。

また、同じ title 属性値を持った優先スタイルシート、代替スタイルシートはグループとして扱われますので、下記のように記述した場合、初期状態で固定スタイルシートと優先スタイルシートのうち 「スタイル01」 が読み込まれ、閲覧者が代替スタイルシート 「スタイル02」 を選択すると、代替スタイルシート 「スタイル02」 と優先スタイルシート 「スタイル02」 が、優先スタイルシート 「スタイル01」 に替わって読み込まれることになります。

<link rel="stylesheet" href="style.css" />
<link rel="stylesheet" href="style01.css" title="スタイル01" />
<link rel="stylesheet" href="style02.css" title="スタイル02" />
<link rel="alternate stylesheet" href="alt-style02.css" title="スタイル02" />

ただし、この仕組みに対応していないブラウザにおいては、優先スタイルシートがすべて初期状態で読み込まれてしまったりと、意図しない動作になる場合がありますので注意が必要です。

link 要素のサンプルソース

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
  <title>サンプル</title>
  <link rel="stylesheet" href="css/style.css" />
  <link rel="alternate" type="application/rss+xml" title="フィード" href="feed/" />
  <link rel="apple-touch-icon" href="img/apple-touch-icon.png" />
  <link rel="author" href="author.html" />
  <link rel="icon" type="image/png" href="img/favicon.png" />
  <link rel="shortcut icon" type="image/x-icon" href="img/favicon.ico" />
  <link rel="next" title="次の記事" href="new.html" />
  <link rel="prev" title="前の記事" href="old.html" />
 </head>
 <body>

主要ブラウザの対応

IE11
Edge(EdgeHTML)
Edge(Chromium)
Chrome
Firefox
Safari
iOS Safari
Android Chrome

仕様書の該当箇所

4.2.4. The link element

用途から目的の要素を探す

用途から HTML5 の要素を逆引きできます。

テキストに対する意味づけを行いたい
テキストの編集を示したい
改行や折り返しを指定したい
上付きや下付きを指定したい
テキストの書字方向を制御したい
テキストにルビをふりたい
箇条書きなどリストを表したい
セクションを定義したい
コンテンツをグループ化したい
画像や映像などを埋め込みたい
スクリプトやスタイルを埋め込みたい
フォーム関連の要素
テーブル関連の要素
ドキュメントにメタデータを付与したい
インタラクティブな要素
その他

このページの上部へ