[2] [DFN[[RUBY[選択子][せんたくし]@en[selector]]]]は、[[単純選択子列]]を1つ以上[[結合子]]で区切って連鎖させたものです。
[[選択子]]中の最後の[[単純選択子列]]の後には[[擬似要素]]が1つ入ることがあります。 [SRC[>>1]]

* 仕様書

[REFS[
- [1] [CITE@en[Selectors Level 3]] ([TIME[2011-09-29 22:16:17 +09:00]] 版) <http://www.w3.org/TR/selectors/#selector>
]REFS]

* 意味

[4] [[選択子]]は、それを構成する[[単純選択子列]]や[[結合子]]によって表される条件をすべて満たす[[要素]]、
あるいは[[擬似要素]]が指定されている場合はその[[要素]]に対する[[擬似要素]]を表しています。

* 妥当性

[5] [[選択子]]は、それを構成する[[単純選択子列]]や[[結合子]]や[[擬似要素]]が[[非妥当]]なら、全体として[[非妥当]]です。
また全体として構文的に正しくなければ[[非妥当]]です。

* 歴史

** 草創期

[REFS[
- [11] [CITE[Cascading Style Sheets: a draft specification]] ([TIME[1995-05-31 21:05:57 +09:00]] 版) <http://www.w3.org/Style/CSS/draft1.html#context>
]REFS]

[12] 最初期 (>>11) は [CODE(CSS)[/h1 p/]] のように複数の[[単純選択子]]を使う時は
[CODE(char)[/]] で括る必要がありました。

** CSS1

[REFS[
- [9] [CITE[Cascading Style Sheets, level 1]] ([TIME[2008-04-10 02:23:32 +09:00]] 版) <http://www.w3.org/TR/CSS1/#terminology>
]REFS]

[10] [[CSS1]] では[[選択子]]は[[単純選択子]]または[[文脈的選択子]]と定義されていました。

** CSS2

[REFS[
- [6] [CITE@en[Selectors]] ([TIME[2011-06-07 22:09:52 +09:00]] 版) <http://www.w3.org/TR/CSS2/selector.html#x4>
]REFS]

[7] [[CSS2]] の「[[選択子]]」には[[擬似要素]]は含まれていませんでした。

;; [8] [[擬似要素]]を含めた全体に特に名前はついていませんでした。

* メモ

[3] 仕様としての[[選択子]]は Selectors、その構文上の一部分としての[[選択子]]は a selector と呼ばれています。
ただし一般的には仕様としての[[選択子]]、あるいは構文全体 ([[選択子群]]) を指して selector と呼ぶこともあります。