スタイルシートには、ドキュメント及びスタイルシートの「作成者」、ドキュメントの「ユーザー」、「ユーザー・エージェント」の三者が関わります。
作成者 | 作成者はドキュメントのスタイルスタイルシートを作成します。HTMLではスタイルシートは文書に含まれることもあれば、外部にリンクされる場合もあります |
---|---|
ユーザー | ユーザはスタイルシートを含むファイルを指定する場合もあれば、ユーザエージェントがユーザスタイルシートを提供する場合もあります |
ユーザー・エージェント | ユーザーエージェントは、デフォルトのスタイルシートを適用する必要があります。HTMLで推奨されるデフォルトスタイルシートについては、デフォルトのスタイルシートをご覧ください |
上記の三者は役割の重複する部分もあり、カスケードに従って相互作用します。
CSSのカスケードでは、各スタイルの規則を重み付けし、最も重みの大きい規則が優先されます。
原則として、作成者のスタイルシートは、ユーザーのスタイルシートのルールよりも優先されますが、'!important'規則はユーザーのスタイルシートを優先します。ユーザーと作成者のスタイルシートの規則は、ユーザー・エージェントのデフォルトのスタイルシートの規則よりも優先されます。
優先順 | 規則 |
---|---|
1 | 作成者のスタイルシートの規則 |
2 | ユーザーのスタイルシートの規則(但し'!important'規則は作成者より優先) |
3 | ユーザー・エージェントのデフォルトのスタイルシートの規則 |
カスケードされたスタイルシートの中から、ユーザー・エージェントは次の並べ替えにより属性と値の組み合わせを決定します。
!important宣言を使えば、規則の優先順位を変更することができます。