: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
.
Специфікації
Сумісність із браузерами
Дивіться також
- Елемент HTML
<template>
- Елемент HTML
<slot>
::slotted