#
要素について
カテゴリー | メタデータ・コンテンツ |
利用場所 | メタデータ・コンテンツが置ける場所、もしくは“head”要素の中にある“noscript”要素の子要素として |
内容 | 有効なスタイルシートであるテキスト |
タグの省略 | 不可 |
“style”要素は文書内にスタイルシートを記述するための要素です。
適用対象の要素に直接スタイルシートを記述したい場合は代わりにグローバル属性の“style”属性を使用できます。
複数の“style”要素や“link”要素でスタイルが競合する場合は基本的に後に配置したものに記述されたスタイルが優先されますが、使用しているセレクタによって優先順位が変わる場合があります。
サンプルコード
過去には“style”要素に対応していないブラウザからスタイルシートを隠すために“style”要素の内容をコメントで囲う習慣がありましたが、これはかなり古いブラウザを対象としたものなので現代では基本的に不要です。
#
#
代替スタイルシート
“代替スタイルシート”とは?
“代替スタイルシート”は“link”要素と“style”要素で複数用意されたスタイルシートをユーザーが選択して切り替えられる機能です。
対応しているブラウザでは“link”要素と“style”要素の“title”属性で指定されたスタイルシートの名前が選択肢として表示されます。
“style”要素によって読み込まれるスタイルシートは以下の条件で適用されます。
- “title”属性を指定していない場合
- スタイルシートは常に適用されます。
- “title”属性を指定した1個目の“style”要素
- スタイルシートはデフォルトで適用されますが、他の代替スタイルシートに切り替えると適用されなくなります。
- “title”属性を指定した2個目以降の“style”要素
- スタイルシートはデフォルトでは適用されませんが、代替スタイルシートを切り替えることによって適用されます。
代替スタイルシートの名前(“title”属性の値)が同じ“link”要素と“style”要素によるスタイルシートはグループ化され、選択された時に同時に適用されます。
サンプルコード
#
仕様書
“style”要素はHTML4.0から定義されている要素です。現行の仕様であるHTML Living Standardでも定義されています。
DOMインターフェース
[Exposed=Window]
interface HTMLStyleElement : HTMLElement {
[HTMLConstructor] constructor();
attribute boolean disabled;
[CEReactions] attribute DOMString media;
[SameObject, PutForwards=value] readonly attribute DOMTokenList blocking;
// also has obsolete members
};
HTMLStyleElement includes LinkStyle
UAスタイルシート
@namespace url(http://www.w3.org/1999/xhtml);
style {
display: none;
}