--- title: 代替スタイルシート slug: Web/CSS/Alternative_style_sheets tags: - CSS - Guide - HTML - NeedsCompatTable - NeedsUpdate - Reference - ガイド translation_of: Web/CSS/Alternative_style_sheets ---
{{cssref}}

ウェブページに代替スタイルシートを指定すると、ユーザーのニーズや設定に応じて複数のバージョンのページを見る方法を提供します。

Firefox では、表示 >スタイルシートのサブメニューを使用して、ユーザーがスタイルシートを選択することができます。 Internet Explorer でも (IE 8 から) この機能に対応しており、表示 >スタイルから利用できます。 Chrome では (バージョン48時点で) この機能を使用するのに拡張機能が必要です。ウェブページがユーザーからスタイルの切り替えができるユーザーインターフェイスを提供することもできます。

例: 代替スタイルシートの指定

代替スタイルシートはふつう、次のように {{HTMLElement("link")}} 要素に rel="alternate stylesheet" およびび title="..." 属性を使用することで指定されます。

<link href="reset.css" rel="stylesheet" type="text/css">

<link href="default.css" rel="stylesheet" type="text/css" title="既定のスタイル">
<link href="fancy.css" rel="alternate stylesheet" type="text/css" title="ファンシー">
<link href="basic.css" rel="alternate stylesheet" type="text/css" title="基本">

この例では、スタイルシートのサブメニューに「既定のスタイル」「ファンシー」「基本」という項目が追加され、「既定のスタイル」が選択されています。ユーザーがスタイルを選択すると、ページはそのスタイルシートを使って即座に再描画されます。

どのスタイルが選択されても、 reset.css の規則が常に適用されます。

やってみましょう

ここをクリックすると、やってみることができる例を見ることができます。

詳細

文書内のスタイルシートはどれも、以下のカテゴリのうち一つに当てはまります。

{{HTMLElement("link", "<link rel=\"stylesheet\">")}} 又は {{HTMLElement("style")}} 要素で、スタイルシートが title 属性とともに参照された場合、そのタイトルがユーザに与えられる選択肢のひとつとなります。同じタイトルでリンクされた別のスタイルシートも、同じ選択肢の一部として扱われます。 title 属性を付けずにリンクされたスタイルシートは常に適用されます。

標準スタイルシートへリンクするには rel="stylesheet" を、代替スタイルシートへリンクするには rel="alternate stylesheet" を使用します。これにより、どのスタイルシートのタイトルを標準で選択すべきかがブラウザーに伝わり、代替スタイルシートに対応していないブラウザーでは標準の選択肢が適用されます。

仕様書

仕様書 状態 備考
{{SpecName('HTML WHATWG', '#rel-alternate', 'link type "alternate"')}} {{Spec2('HTML WHATWG')}}
{{SpecName('HTML WHATWG', '#the-link-is-an-alternative-stylesheet', 'alternative stylesheet')}} {{Spec2('HTML WHATWG')}}
{{SpecName('HTML WHATWG', '#attr-style-title', 'the "title" attribute for the style element')}} {{Spec2('HTML WHATWG')}}
{{SpecName('HTML WHATWG', '#attr-meta-http-equiv-default-style', 'meta http-equiv="default-style")')}} {{Spec2('HTML WHATWG')}}
{{SpecName('CSSOM', '#css-style-sheet-collections', 'CSS Style Sheet Collections')}} {{Spec2('CSSOM')}} CSS OM 仕様書は、スタイルシートセット名と、その無効フラグ推奨される CSS スタイルシートセット名 の概念を定義しています。
これらがどのように指定されるのかを定義し、 HTML 仕様書が CSS スタイルシートの作成時に定義する必要がある HTML に依存した動作を定義できるようにしています。
{{SpecName("HTML4.01", "present/styles.html#h-14.3", "Alternative style sheets")}} {{Spec2("HTML4.01")}} 以前は、 HTML 仕様書自体で推奨及び代替スタイルシートの概念を定義していました。

ブラウザーの互換性

{{Compat("html.elements.link.rel.alternate_stylesheet")}}