CSS3

疑似要素

::slotted()

  編集:2022.07.09 by T.A.

mdn

E::slotted(<compound-selector>)
E 該当させる要素。
<compound-selector> 合体選択子

平坦化された上で slot にあてがわれた要素たちを表現する。
この疑似要素は:

::slotted() の詳細度は、疑似要素のそれに引数の詳細度を足したものになる。
例えば、次の様な[子たち、および shadow ツリー]を伴う部品があるとする:
<x-foo>
  <div id="one" slot="foo" class="foo">...</div>
  <div id="two" slot="foo">...</div>
  <div id="three" class="foo">
    <div id="four" slot="foo">...</div>
  </div>
  <“shadow ツリー”>
    <div id="five">...</div>
    <div id="six">...</div>
    <slot name="foo"></slot>
  </“shadow ツリー”>
</x-foo>

shadow ツリーの中のスタイルシートにおいては、選択子 ::slotted(*) は、[#one、#two]のみを選択する ― それらはもっぱら SLOT 要素に あてがわれる要素なので。それは、slot 属性を有さない #three は選択しない。また、#four も選択しない(slot にあてがわれるノードは、shadow ホストの(直な)子に限られるので)。

一方で、::slotted(.foo) の様な選択子は、[#one、#two]のうち .foo に合致する前者のみを選択する。

注記: ::slotted(*) の様な選択子は、*::slotted(*) と等価になる ― 先頭の * は、SLOT 要素の他にも多数の要素を選択するが、slot になるのは SLOT 要素に限られるので、合致するのは ::slotted() 疑似要素に合致する要素に限られる。

注記: slot にはテキスト ノードもあてがえるが、それらは ::slotted() では表現されないので、選択できない。そのようなテキスト ノードをスタイルする仕方は、slot をスタイルした上で、継承に依拠する他にない。


テスト
別画面に表示させて。
HTML:

ここに表示
¶[Edge]✖?
HTML:

ここに表示
スクリプト:


スクリプト:



表示内容:
表示内容: