CSS селектор :defined — зареєстрований кастомний елемент


CSS псевдоклас :defined вибирає елементи, які браузер уже знає: вбудовані теги та зареєстровані кастомні елементи.

автор: NagarD

Загальний опис

Головна користь — у зворотному вигляді: my-widget:not(:defined) вибирає кастомний елемент, скрипт якого ще не завантажився.

Це дає змогу сховати «сирий» компонент або показати заглушку, доки він не ожив — і уникнути мигання нестилізованого вмісту.

автор: NagarD

Порада

Ховай нерозпізнані компоненти через :not(:defined), а не через клас із JavaScript: CSS спрацює раніше, ще до виконання скриптів.

автор: NagarD

Синтаксис

:defined

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
defined 54+ 63+ 10+ 41+ 79+ -
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
defined 54+ yes yes 10+

Приклади

+ запропонувати свій приклад у пісочниці

Заглушка на місці компонента, доки не завантажився його скрипт.

HTML

<my-chart data="..."></my-chart>

CSS

my-chart:not(:defined) {
    display: block;
    min-height: 200px;
    background: repeating-linear-gradient(45deg, #f2f2f2 0 10px, #e9e9e9 10px 20px);
}
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід