セレクター

W3C では、“A セレクターは構造を表します。この構造は、インスタンスを、ドキュメント・ツリーのどの要素がこのセレクターによってマッチングされるかを決定する条件として、またはその構造に対応する HTML や HTML 断片の簡単な記述として解釈することができる」と説明しています。
セレクターの例:
  • H3
  • P.footer
  • TABLE#bigtable > TR
  • TABLE#bigtable TD
  • ノード
  • node[x="2"]
  • node:selected
  • node#subgraph1 > #id2
セレクターは、1 つ以上の単純なセレクターから成ります。
単純なセレクターの例:
  • H3
  • P.footer
  • TABLE#bigtable
  • TR
  • ノード
  • node[x="2"]
  • node:selected
  • #id2
単純なセレクターは、最小構築ブロックから成ります。
セレクターの最小構築ブロックの例:
  • H3
  • .footer
  • ノード
  • [x="2"]
  • :selected
  • #id2
2 つ以上の単純なセレクターを 1 つのセレクターに集約する場合は、連結子によって区切ります。 連結子は、次の表にその意味を示す単一文字です。余分なスペースは無視されます。
連結子記号
移行
意味
E F
E 要素の子孫である F 要素に一致
E > F
E 要素の子である F 要素に一致
E + F
E 要素の直下位の F 要素に一致
セレクターの最小構築ブロックを以下の表にリストします。特異性列の詳細な説明については、「優先度」を参照してください。
セレクターの最小構築ブロック
構築ブロック
マッチング・ルール
特異性
e
タイプが e の任意の要素に一致
0-0-1
#myid
myid に等しい ID を持つ任意の要素に一致
1-0-0
.myclass
クラスが myclass である任意の要素に一致
0-1-0
:myclass
疑似クラスが myclass である任意の要素に一致
0-1-0
[myattr]
myattr 属性が存在し <> null である要素に一致
0-1-0
[myattr=”warning”]
myattr 属性値が正確に warning に等しい任意の要素に一致
0-1-0
[myattr~=”warning”]
myattr 属性値が、スペースで区切られている値のリストで、 なおかつその 1 つが warning と完全に等しい任意の要素に一致
0-1-0
*
任意の要素に一致
0-0-0
例えば、次の行
P.pastoral.marine { color : green ; size : 10pt ; }
は、<P class="pastoral marine old"> に一致し、パラグラフの色を green に、フォントのサイズを 10 に設定します。
すべてのルールは、暗黙の「*」パターンで開始し、終了します。これは、セレクターは階層内のどこででも一致することが可能であるということです。