You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 8-web-components/6-shadow-dom-style/article.md
+2-17Lines changed: 2 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -111,22 +111,7 @@ customElements.define('custom-dialog', class extends HTMLElement {
111
111
112
112
Теперь дополнительные стили для выравнивания по центру применяются только к первому элементу: `<custom-dialog centered>`.
113
113
114
-
## :host-context(selector)
115
-
116
-
То же самое, что и `:host`, но применяется только в том случае, если элемент-хозяин или любой из его предков во внешнем документе подходит под селектор `selector`.
117
-
118
-
Например: правила в `:host-context(.dark-theme)` применятся, только если на элементе `<custom-dialog>` или где-то выше есть класс `dark-theme`:
119
-
120
-
```html
121
-
<bodyclass="dark-theme">
122
-
<!--
123
-
:host-context(.dark-theme) применится к custom-dialog внутри .dark-theme
124
-
-->
125
-
<custom-dialog>...</custom-dialog>
126
-
</body>
127
-
```
128
-
129
-
Подводя итог, мы можем использовать семейство селекторов `:host` для стилизации основного элемента компонента в зависимости от контекста. Эти стили (если только не стоит !important) могут быть переопределены документом.
114
+
Подводя итог, мы можем использовать семейство селекторов `:host` для стилизации основного элемента компонента. Эти стили (если только не стоит !important) могут быть переопределены документом.
130
115
131
116
## Применение стилей к содержимому слотов
132
117
@@ -317,7 +302,7 @@ customElements.define('user-card', class extends HTMLElement {
317
302
318
303
Локальные стили могут влиять на:
319
304
- теневое дерево,
320
-
- элемент-хозяин, при помощи псевдоклассов семейства `:host`,
305
+
- элемент-хозяин, при помощи псевдоклассов `:host` и `:host()`,
321
306
- слотовые элементы (из светлого DOM), `::slotted(селектор)` позволяет стилизовать сами слотовые элементы, но не их дочерние элементы.
0 commit comments