HTML

style 要素

 style要素の中にスタイルを記述する事で、そのスタイルをドキュメント全体、または、style要素が含まれている領域のみに適用する事ができます。style要素の中に記述されたスタイル情報は、ブラウザ上に表示されません。

style 要素の概要

カテゴリー
メタデータ・コンテンツ
scoped属性がある場合:フロー・コンテンツ
コンテンツ・モデル
type属性に依存します。
利用可能な場所
scoped属性がない場合:メタデータ・コンテンツが期待される場所、または、head要素の中の noscript要素の中。
scoped属性がある場合:フロー・コンテンツが期待される場所。ただし、style要素と要素間ホワイトスペース以外のフロー・コンテンツより前でなければいけません。
タグの省略
不可。開始タグと終了タグの両方が必要。
要素固有の属性
type
スタイリング言語の MIMEタイプを指定します。
media
スタイルを適用するメディアを表すキーワードを指定します。
scoped
この属性を指定すると、指定のスタイル情報が、該当の style要素の親要素とその子要素だけに適用されるようになります。この属性を指定しなければ、指定のスタイルは、ドキュメント全体に適用されることになります。
標準的なスタイル

style {
	display: none;
}

type 属性

 type属性は、スタイリング言語の MIMEタイプを表します。

 指定がなければ、その MIMEタイプは "text/css" となります。そのため、通常、Webページで使われているスタイルシートの場合は、style要素に type属性を入れる必要はありません。

media 属性

 media属性は、style要素の中に記述されたスタイル情報を、どのメディアに適用するかを表します。

media属性の利用例


<style media="screen">
<!-- スクリーンだけに適用されます -->
 :
 :
 :
</style>

<style media="print">
<!-- 印刷時のみ適用されます -->
 :
 :
 :
 </style>

 media属性が省略された場合は、media属性に "all" が指定されているものとして処理されることになっています。

scoped 属性

 scoped属性は論理属性です。もし scoped属性が存在すれば、style要素の親要素の中にあるコンテンツだけに、style要素の中に記述されたスタイル情報が適用されます。

scoped属性の利用例


<p>段落です。<!-- この段落にはスタイルは適用されません。 --></p>

<div>
	<style scoped="scoped">
		p { color: blue; }
	</style>
<p>段落です。<!-- この段落にはスタイルが適用されます。 --></p>
</div>

 scoped属性を使う場合、その style要素は、フロー・コンテンツが期待される場所にしかマークアップできません。例えば、div要素の中などです。p要素のように、そのコンテンツ・モデルがフロー・コンテンツを認めていない要素の中では、scoped属性をセットした style要素を使う事ができませんので、注意してください。

 なお、scoped属性が指定されていない style要素は、head要素の中でしか利用する事ができませんので、注意してください。

 scoped属性は HTML5で新たに導入されたものです。2009年10月現在で scoped属性をサポートしたブラウザはありません。