Spec-Zone.ru › CSS

:host

Baseline Широко распространённый

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Псевдокласс :host CSS псевдокласса выбирает хост тени shadow DOM, содержащий CSS, в котором он используется — другими словами, это позволяет выбрать пользовательский элемент изнутри его shadow DOM.

Примечание: Это не имеет эффекта при использовании вне shadow DOM.

Попробуйте

/* Selects a shadow root host */
:host {
  font-weight: bold;
}

Синтаксис

:host {
  /* ... */
}

Примеры

Стиль хоста тени

Следующие фрагменты взяты из нашего примера host-selectors (посмотреть вживую).

В этом примере у нас есть базовый пользовательский элемент — <context-span> — которым вы можете обернуть текст:

<h1>
  Host selectors <a href="#"><context-span>example</context-span></a>
</h1>

Внутри конструктора элемента мы создаём style и span элементы, заполняем span содержимым пользовательского элемента и заполняем style элемент некоторыми правилами CSS:

const style = document.createElement("style");
const span = document.createElement("span");
span.textContent = this.textContent;

const shadowRoot = this.attachShadow({ mode: "open" });
shadowRoot.appendChild(style);
shadowRoot.appendChild(span);

style.textContent =
  "span:hover { text-decoration: underline; }" +
  ":host-context(h1) { font-style: italic; }" +
  ':host-context(h1):after { content: " - no links in headers!" }' +
  ":host-context(article, aside) { color: gray; }" +
  ":host(.footer) { color : red; }" +
  ":host { background: rgb(0 0 0 / 10%); padding: 2px 5px; }";

Правило :host { background: rgb(0 0 0 / 10%); padding: 2px 5px; } стилизует все экземпляры элемента <context-span> (хост тени в данном случае) в документе.

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

Спецификация
CSS Scoping Module Level 1
# host-selector

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
:host 54 79 63 41 10 54 63 41 10 6.0 54

См. также

  • Web компоненты
  • :host()
  • :host-context()
  • ::slotted
  • :state()
  • Модуль CSS scoping

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/:host

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API