Cascading Style Sheets リンク集
Cascading Style Sheets(CSS、段階スタイルシート、カスケーディング・スタイル・シート、カスケード・スタイル・シート)とは、HTML や XML の要素をどのように修飾(表示)するかを指示する仕様であり、W3Cによる勧告の一つ。文書の構造と体裁を分離させるという理念を実現する為に提唱されたスタイルシートの、具体的な仕様の一つ。
CSS は HTML で表現可能と考えられるデザインの大部分を実現できる要素を取り入れつつ、新たなデザイン機能を備える。また、以下のような特徴を持つ。
* ページを表示するメディアに合わせてスタイルシートを切り替えることで、メディアごとに表示を変化させることができる
* ユーザーエージェント(多くの場合ウェブブラウザ)、ウェブサイト制作者、ユーザがそれぞれ定義した CSS のもたらす効果を重ね合わせる(カスケードする)ことができる
しかし、拡張・修正の続いている CSS 仕様の全てを完全に実装しているユーザーエージェントは事実上皆無といってよく、実際シェアで多数を占めるユーザエージェントは部分対応にすぎない。しかし実用上支障のないレベルの実装はされてきており、なおかつ表現のお互いの互換性についても考慮されてきている。
スタイルの情報は読み込む内容(作成者スタイルシート)やユーザーエージェントの設定(ユーザースタイルシート)の二ヶ所に記載できる。またユーザーエージェントも独自のスタイル(デフォルトスタイルシート)を持っている。
作成者スタイルシートはマークアップ文書の中に直接記述するか、別文書として読み込ませる形で利用される。CSS の利便性を最大限発揮する為に、別文書として読み込ませる事が推奨されている。
CSS は必ずしも一つのところで一意に指定できず、そのため指定内容の衝突を避けるために優先順位がユーザーエージェントによって計算される。その結果は、以下のような条件により算出される。
* 作成者スタイルシートはユーザースタイルシートより優先される
* デフォルトスタイルシートは他のスタイルシートを優先する
* 最重要指定されている宣言はユーザースタイルシートが作成者スタイルシートより優先される(CSS1では逆)
* 外部から読み込んだものは読み込んだ先とまとめて扱う
* 詳細度によって整理する
o そのセレクタ内で指定先を一意に決められるもの(IDの類)が多い方を優先する
o IDの類による優先順位が同じ場合は、属性や擬似クラスの数が多い方を優先する
o それでも優先順位が決まらない場合は、要素の数が多い方を優先する
* これでもまだ優先順位が同一の場合、作成者スタイルシートにおいて以下の順で優先する
1. インラインのもの
2. 外部からのもの
* HTMLのalign属性など、CSS以外によるスタイルの指定は、それと等価なCSSによるスタイル指定が製作者スタイルシートの先頭にあるものとして扱う。ただし、これらの詳細度は最も低いものとする(CSS1においては要素名による指定を一つだけ含むセレクタと同じ詳細度)
記載可能な方法の詳細は次の通りで、一般的に優先される順位で並び替えている(CSS2で最重要指定の優先順位の仕様が変更されている、勧告6章 4)。
1. ユーザスタイルシート中で最重要指定された宣言 - ユーザーエージェントの設定のスタイルの中で!importantを宣言に付加する
2. 作成者スタイルシート中で最重要指定された宣言 - 作成者が内容に付随させたスタイル中で!importantを宣言に付加する。
3. 作成者スタイルシート中の通常の宣言
4. ユーザースタイルシート中の通常の宣言
5. デフォルトスタイルシートの宣言
作成者スタイルシートの記述方法による優先順位は以下の通り。
1. 特定の要素にスタイルを記述する
2. HTMLやXMLのヘッダ部にそのページ全体を対象にスタイルを定義する
3. CSSのみを記述した外部ファイルを用意し、HTMLファイルのヘッダ部からリンクを張ってスタイルを参照させる
出典:フリー百科事典『ウィキペディア(Wikipedia)』