ドキュメント言語の一部としての名前空間は、ドキュメント言語 (XML など) ではなく CSS で定義されるため、疑似クラスまたは疑似要素に直接適用されません。ただし、要素の型と属性は、CSS ではなくドキュメント言語で定義されるため、名前空間を付けることができます。したがって、単純なセレクターのシーケンスでは、ユニバーサル セレクターは具体的には「任意の型」を意味します。
ユニバーサル セレクターは、名前空間なしで使用される場合、他の単純なセレクターおよび疑似要素に対してのみ暗示されます (これが、 、 、 、および のようなセレクター.foo
が#target
有効[type="text"]
で:first-child
あり::before
、一般に CSS がスタイリングに最も一般的に使用される HTML のような言語で使用される理由です)。仕様から:
で表されるユニバーサル セレクター*
(つまり、名前空間プレフィックスなし) が単純なセレクター セレクターのシーケンスの唯一のコンポーネントではない場合、または直後に疑似要素が続く場合、*
を省略してユニバーサル セレクターの存在を暗示することができます。
|
したがって、あなたの例では、と の間にユニバーサルセレクターもタイプセレクターもないため、セレクターは無効です:
。
/* These are all invalid */
*|:first-child
ns|::first-letter
|::before
名前空間を指定する場合、代わりに特定のタイプを選択しない場合は、ユニバーサル セレクターを指定する必要があります。
*|*:first-child
*|*::before
ns
名前空間で要素を選択する場合も同様です。
ns|*:first-child
ns|*::before
または、名前空間にない要素を選択する場合:
|*:first-child
|*::before