[1] 型選択子は、CSS修飾名によってマーク付け言語の要素型の名前を表したものです >>2。
[3] 名前空間接頭辞を除いた部分 (|
よりも後の部分) は要素の局所名を表しています
>>2。
[5] 名前空間接頭辞は、それに対応すると宣言された名前空間URLを表しています。
CSS では @nemaspace
@規則で、 XBL2
では xmlns
属性で名前空間接頭辞を宣言できます。
@namespace hoge 'http://hoge/'; hoge|fuga { color: blue }
... は http://hoge/
という名前空間の局所名 fuga
の要素の色を指定しています。
[7] 名前空間接頭辞が空文字列であれば、名前空間なし (null名前空間) を表します >>2。
[8] 名前空間接頭辞が *
であれば、任意の名前空間を表します。
null名前空間もこれに含まれます。 >>2
[9] 名前空間接頭辞も |
もなければ、既定名前空間が宣言されていればその名前空間を、
宣言されていなければすべての名前空間 (*
と同じ。) を表します。 >>2
h1 { color: blue }
... はすべての名前空間の h1
要素を表しています。一方
@namespace 'http://www.w3.org/1999/xhtml'; h1 { color: blue }
[36] WebVTT ではWebVTT中間節点オブジェクトが空文字列の名前空間に属する特定の要素名の要素であるものとして扱われます。 >>35
[11] 局所名の大文字と小文字の解釈はマーク付け言語に依存します。
[30] HTML文書中のHTML要素ではASCII大文字・小文字不区別です。それ以外、すなわち XML文書の要素や HTML文書中の HTML 以外の要素では大文字と小文字を区別します。
[39] これは厳密には次のようにしなければならない >>29 と定義されています。
[43] つまりHTML文書中のHTML要素に関する限り CSS 側の大文字と小文字の違いは無視されますが、 DOM 側では小文字でなければならず (HTML構文解析器が作った要素は必ずそうなっています)、 大文字を含む要素に一致することはありません。
[26] 「型選択子」という名前の仕様上の初出は >>25 です。それまでは明確な名称がありませんでした。
[20] CSS2 まで型選択子と名前空間の関係は規定されていませんでした。 IE などは要素の修飾名と型選択子で一致するか判定する実装になっていました。
[34] SVG 1.1 は CSS2 を使っていますが、型選択子について局所名のみ一致に使うと規定していました >>33。
[23] 名前空間接頭辞をつけて名前空間に対応させることが >>22 で提案され、 >>24 で選択子3仕様に取り込まれました。
[32] 名前空間接頭辞は当初は大文字と小文字を区別しないことになっていましたが、 最終的には区別することになりました。
[31] 選択子仕様書は要素名の大文字と小文字はマーク付け言語に依存するとして、 HTML と XML について例を挙げるにとどまっていますが、 HTML 仕様書がかわりにこれを規定するようになりました。 HTML の仕様書とは言え、 HTML と XML のすべての要素の扱いを規定しています。
[17] 局所名のかわりに *
を指定したものは普遍選択子と呼ばれます。
[38] Web Applications 1.0 r8253 Match reality better in terms of selector case-sensitivity ( ( 版)) <http://html5.org/tools/web-apps-tracker?from=8252&to=8253>
[44] Web Applications 1.0 r8764 Try to clarify case matching rules for selectors ( ( 版)) <http://html5.org/r/8764>
[19] Gloss the term "type selector" · whatwg/html@1e783c9 ( 版) <https://github.com/whatwg/html/commit/1e783c9fd70b7e6c02775788a487fe88f4658bbc>