:has-slotted

Експериментальне

Це експериментальна технологія.
Перед її використанням у промисловій розробці уважно перевірте Таблицю сумісності з браузерами.

Псевдоклас CSS :has-slotted (має вставлене) дає збіг, коли вміст елемента <slot> не є порожнім або не використовує усталене значення (дивіться докладніше на сторінці Використання шаблонів і слотів).

[!NOTE] Навіть текстового вузла, що складається з єдиного пробілу, достатньо для застосування :has-slotted.

Це працює лише в межах CSS, розміщеного всередині тіньового DOM.

/* Вибирає вміст елемента <slot>, який має вміст, що не є усталеним */
:has-slotted {
  color: green;
}

/* Вибирає вміст елемента <slot>, який не має вмісту або має усталений */
:not(:has-slotted) {
  color: red;
}

Синтаксис

:has-slotted {
  /* ... */
}

Приклади

Цей приклад містить два елементи <slot>, один з яких має призначений вміст, а інший – ні.

HTML

<p>
  <template shadowrootmode="open">
    <style>
      :has-slotted {
        color: rebeccapurple;
      }
    </style>
    <slot name="one">Замісник 1</slot>
    <slot name="two">Замісник 2</slot>
  </template>
  <span slot="one">Вставлений вміст</span>
</p>

Результат

Елемент <slot>, якому було призначено вміст, дав збіг зі псевдокласом :has-slotted і має застосоване значення color rebeccapurple.

Специфікації

Якщо ви це бачите — значить, щось трапилося з цією сторінкою.

Сумісність із браузерами

Якщо ви це бачите — значить, щось трапилося з цією сторінкою.

Дивіться також