1 |
wakaba |
1.2 |
[3] [DFN[[RUBYB[普遍選択子]@en[universal selector]]]]は、すべての[[要素]]を表す[[単純選択子]]です。
|
2 |
|
|
|
3 |
|
|
* 仕様書
|
4 |
|
|
|
5 |
|
|
[REFS[
|
6 |
|
|
- [2] [CITE@en[Selectors Level 3]] ([TIME[2011-09-29 22:16:17 +09:00]] 版) <http://www.w3.org/TR/selectors/#universal-selector>
|
7 |
|
|
]REFS]
|
8 |
|
|
|
9 |
wakaba |
1.3 |
* 意味
|
10 |
|
|
|
11 |
|
|
[5] [[名前空間接頭辞]]は、それに対応すると[[宣言]]された[[名前空間URL]]を表しています。
|
12 |
|
|
[[CSS]] では [CODE(CSS)@en[[[@nemaspace]]]] [[@規則]]で、 [[XBL2]]
|
13 |
|
|
では [CODE(XMLa)@en[[[xmlns]]]] [[属性]]で[[名前空間接頭辞]]を[[宣言]]できます。
|
14 |
|
|
|
15 |
|
|
[EG[
|
16 |
|
|
[13]
|
17 |
|
|
[PRE(CSS example code)[
|
18 |
|
|
@namespace hoge 'http://hoge/';
|
19 |
|
|
hoge|* { color: blue }
|
20 |
|
|
]PRE]
|
21 |
|
|
... は [CODE(URI)@en[http://hoge/]] という[[名前空間]]の[[要素]]の色を指定しています。
|
22 |
|
|
]EG]
|
23 |
|
|
|
24 |
|
|
[7] [[名前空間接頭辞]]が[[空文字列]]であれば、[[名前空間]]なし ([[null名前空間]])
|
25 |
|
|
を表します [SRC[>>2]]。
|
26 |
|
|
|
27 |
|
|
[EG[
|
28 |
|
|
[14] [CODE(CSS)@en[|*]] は[[null名前空間]]の[[要素]]を表しています。
|
29 |
|
|
]EG]
|
30 |
|
|
|
31 |
|
|
[8] [[名前空間接頭辞]]が [CODE(CSS)[[[*]]]] であれば、任意の[[名前空間]]の任意の[[要素]]を表します。
|
32 |
|
|
[[null名前空間]]もこれに含まれます。 [SRC[>>2]]
|
33 |
|
|
|
34 |
|
|
[EG[
|
35 |
|
|
[15] [CODE(CSS)[*|*]] は [[HTML]] や [[XHTML2]] やその他任意の[[名前空間]]の[[要素]]を表しています。
|
36 |
|
|
]EG]
|
37 |
|
|
|
38 |
|
|
[9] [[名前空間接頭辞]]も [CODE(CSS)[[[|]]]] もなければ、[[既定名前空間]]が[[宣言]]されていればその[[名前空間]]、
|
39 |
|
|
[[宣言]]されていなければすべての[[名前空間]] ([CODE(CSS)[[[*]]]] と同じ。) の任意の[[要素]]を表します。 [SRC[>>2]]
|
40 |
|
|
|
41 |
|
|
[EG[
|
42 |
|
|
[16]
|
43 |
|
|
[PRE(CSS example code)[
|
44 |
|
|
* { color: blue }
|
45 |
|
|
]PRE]
|
46 |
|
|
... はすべての[[名前空間]]の任意の[[要素]]を表しています。一方
|
47 |
|
|
[PRE(CSS example code)[
|
48 |
|
|
@namespace 'http://www.w3.org/1999/xhtml';
|
49 |
|
|
* { color: blue }
|
50 |
|
|
]PRE]
|
51 |
|
|
... は [[HTML]] の任意の[[要素]]だけを表しています。
|
52 |
|
|
]EG]
|
53 |
|
|
|
54 |
wakaba |
1.6 |
[21] 暗黙の[[普遍選択子]] (>>18) にも[[既定名前空間]]が適用されるので、
|
55 |
|
|
一見[[名前空間]]の指定が無いように見えても実際には限定されていることがあります。
|
56 |
|
|
|
57 |
|
|
[EG[
|
58 |
|
|
[22] 例えば、
|
59 |
|
|
[PRE(CSS example code)[
|
60 |
|
|
@namespace 'http://hoge/';
|
61 |
|
|
:first-child { color: blue }
|
62 |
|
|
]PRE]
|
63 |
|
|
... は [CODE(URI)[http://hoge/]] 名前空間に属し、かつ最初の[[子要素]]であるものの色を変えています。
|
64 |
|
|
]EG]
|
65 |
|
|
|
66 |
wakaba |
1.8 |
* 構文
|
67 |
|
|
|
68 |
|
|
[4] [[普遍選択子]]は [[CSS修飾名]]の[[局所名]]が [CODE(CSS)[[[*]]]] であるものです [SRC[>>2]]。
|
69 |
|
|
|
70 |
|
|
[18] [CODE(CSS)[[[*]]]] のみで構成される[[普遍選択子]] (つまり[[名前空間接頭辞]]と [CODE(CSS)[[[|]]]]
|
71 |
|
|
が無いもの) であって、[[単純選択子列]]中に他の[[単純選択子]]も含まれている場合、または直後に[[擬似要素]]がある場合は、
|
72 |
|
|
[CODE(CSS)[[[*]]]] を省略できます。 [SRC[>>2]]
|
73 |
|
|
|
74 |
|
|
[EG[
|
75 |
|
|
[19] 例えば [CODE(CSS)[*:first-child]] と [CODE(CSS)@en[:first-child]] は等価です。
|
76 |
|
|
また [CODE(CSS)[*::after]] と [CODE(CSS)[::after]] は等価です。
|
77 |
|
|
]EG]
|
78 |
wakaba |
1.3 |
|
79 |
wakaba |
1.8 |
;; [20] しかし [CODE(CSS)[[[*]]]] は省略するべきではないと言われています。例えば
|
80 |
|
|
[CODE(CSS)@en[div :first-child]] よりも [CODE(CSS)@en[div *:first-child]] と書いた方がわかりやすいです。
|
81 |
|
|
[SRC[>>2]] [[既定名前空間]]の影響も、明示的に書いた方がわかりやすいでしょう。
|
82 |
wakaba |
1.3 |
|
83 |
|
|
* 大文字と小文字
|
84 |
|
|
|
85 |
|
|
[12] [[名前空間接頭辞]]は[[大文字]]と[[小文字]]を区別します。
|
86 |
|
|
|
87 |
wakaba |
1.8 |
* 妥当性
|
88 |
|
|
|
89 |
|
|
[6] [[宣言]]されていない[[名前空間接頭辞]]を使うと[[非妥当]]となります [SRC[>>2]]。
|
90 |
|
|
|
91 |
wakaba |
1.7 |
* 特異度
|
92 |
|
|
|
93 |
|
|
[23] [[普遍選択子]]は[[特異度]]の計算に含まれません。[[普遍選択子]]だけの[[選択子]]は他のどんな[[選択子]]よりも低い[[特異度]]になります。
|
94 |
|
|
|
95 |
wakaba |
1.3 |
* 関連
|
96 |
|
|
|
97 |
|
|
[17] [CODE(CSS)[[[*]]]] 以外の[[局所名]]を指定したものは[[普遍選択子]]と呼ばれます。
|
98 |
|
|
|
99 |
wakaba |
1.2 |
* メモ
|
100 |
|
|
|
101 |
|
|
[1]
|
102 |
|
|
[CITE@ja[ブラウザのデフォルトスタイルをリセットする手段、ユニバーサルセレクタとタイプセレクタの違いは? | Blog hamashun.com]] ([TIME[2007-09-07 18:09:49 +09:00]] 版) <http://www.hamashun.com/blog/2007/09/post_34.html>
|