Updated / Published

style要素(style sheet information)は head要素内に当該文書内にのみ有効な制作者スタイルシートを組み込みます。HTML では style要素の内容は解析されない文字データ(Character DATA)だったのですが、XHTML では style要素の内容は解析対象となる文字データ (Processed Character DATA) になったため、マークアップ区切り文字は意味を持ち、文字実体参照などは展開されます。たとえば、HTML4.01 では style要素に対応していない古い UAstyle要素には Netscape Navigater 4.0, Internet Explorer 4.0 より対応)のための後方互換として "<!-- -->" のコメント宣言を使うことが常套手段とされていましたが、現在では style要素に対応していないような環境で閲覧しているユーザは皆無なので、"<!-- -->" を使ってコメント・アウトする必要はありません。

XHTML では "<!-- -->" を使ってスタイルシートをコメント・アウトしてしまうと、現行の主要ブラウザにおいてはありませんが、本当に仕様通りに解釈するUAであればコメントとみなして、スタイリングが行われないことになります。XHTML では style要素内に記述するスタイルシートは "<![CDATA[ ]>" の CDATAセクションを使うことで解析されない文字データ(Character DATA)にすることが可能ですが、古いUAへの互換性への配慮として、XHTML では文書内に直接スタイルシートを記述するのではなく、別にスタイルシートファイルを用意して link要素で外部から参照させる手法が推奨されています(CSS概論を参照)。

type属性は使用するスタイルシートの言語の種類を示すために必須属性となっています。スタイル言語にはいくつかありますが、各視覚環境の UA の対応状況などから CSS(カスケーディングスタイルシート)と呼ばれる種類が一般的に使用されています。他にもウェブ上で使われているスタイル言語に、XSL などがあります。CSS が (X)HTML文書に対しての見栄え(レイアウト)を定義し、XSL は XML文書に対しての見栄え(レイアウト)を定義します。また、XHTML1.0 には id属性がありますが、HTML4.01 と XHTML1.1 にはありません。

バージョン
  • HTML4.01(S,T,F)
  • XHTML1.0(S,T,F)
  • XHTML1.1
要素型
head要素の子要素
開始タグ
必須
終了タグ
必須
非推奨
-
内容モデル
スタイルシート

media属性

バージョン
  • HTML4.01(S,T,F)
  • XHTML1.0(S,T,F)
  • XHTML1.1
指定要素
style
必須
-
非推奨
-
属性値
  • all
  • screen
  • tty
  • tv
  • projection
  • print
  • handheld
  • braille
  • aural

制作者スタイルシートを適用するメディアを限定して適用するようにメディアの種類を指定します。複数指定する場合は、カンマ(,)で区切って指定します(例:media="screen,tv,projection")。メディアには次の9種類のキーワードがあります。キーワードは半角アルファベットの大文字・小文字が区別されません(case-insensitive)。

all
すべての環境を出力対象とする
screen
パソコン画面を出力対象とする
tty
文字幅が固定の機器を出力対象とする
tv
テレビベースのブラウザを出力対象とする
projection
プロジェクタを出力対象とする
print
プリンタを出力対象とする
handheld
携帯用機器を出力対象とする
braille
点字出力機器を出力対象とする
aural
合成音声出力機器を出力対象とする

type属性

バージョン
  • HTML4.01(S,T,F)
  • XHTML1.0(S,T,F)
  • XHTML1.1
指定要素
style
必須
必須属性
非推奨
-
属性値
MIME

使用するスタイルシートの種類を MIMEで指定します。style要素の必須属性です。UA がスタイル情報を正しく解釈するための情報となります。各UA の対応状況などから CSS(カスケーディングスタイルシート)が一般的に使われています。CSS の MIMEは "text/css" です。必須属性ですが、省略されていても、多くのUAは自動的に"text/css"として認識します。

なお、HTML5では、省略があっても、どの UA も CSS のスタイルシートとして認識することから、スタイル言語に CSS を使用する場合は、type属性の指定も不要(省略可能)になりました。

その他の属性

共通属性