Skip to content

Commit cfd3f68

Browse files
code review fixes
Co-authored-by: Stanislav <[email protected]>
1 parent 27364dc commit cfd3f68

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

Diff for: 8-web-components/6-shadow-dom-style/article.md

+13-13
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Стилізація тіньового DOM
22

3-
Тіньовий DOM може включати в себе обидва теги `<style>` та `<link rel="stylesheet" href="…">`. В останньому випадку, таблиці стилів зберігаються в кеші HTTP, тому вони не завантажуються наново для кількох компонентів, які використовують один і той самий шаблон.
3+
Тіньовий DOM може включати в себе обидва теги `<style>` та `<link rel="stylesheet" href="…">`. В останньому випадку, таблиці стилів зберігаються в кеші HTTP, тому вони не завантажуються наново для кількох компонентів, які використовують один і той самий шаблон.
44

55
Як правило, локальні стилі працюють лише всередині тіньового дерева та стилі документу працюють ззовні. Але є декілька винятків.
66

@@ -15,7 +15,7 @@
1515
```html run autorun="no-epub" untrusted height=80
1616
<template id="tmpl">
1717
<style>
18-
/* стиль буде застосовано зсередини до елементу custom-dialog */
18+
/* стилі буде застосовано зсередини до елементу custom-dialog */
1919
:host {
2020
position: fixed;
2121
left: 50%;
@@ -46,7 +46,7 @@ customElements.define('custom-dialog', class extends HTMLElement {
4646

4747
Тіньовий хост (безпосередньо `<custom-dialog>`) розташований в світлому DOM, тому на нього впливають CSS-правила документу.
4848

49-
Якщо деяка властивість має стилі в `:host` локально та в документі, тоді пріоритет мають стилі документу.
49+
Якщо властивість задана як локально через `:host`, так і глобально в документі, пріоритет мають стилі документу.
5050

5151
Наприклад, якщо в документі ми маємо:
5252
```html
@@ -58,9 +58,9 @@ custom-dialog {
5858
```
5959
...Тоді `<custom-dialog>` не матиме відступів.
6060

61-
Це дуже зручно, оскільки ми можемо встановити типові стилі компоненту всередині його `:host` правила, та легко перевизначити їх в документі опісля.
61+
Це дуже зручно, оскільки ми можемо встановити типові стилі компоненту локально всередині його `:host` правила, та легко перетерти їх стилями документу.
6262

63-
Винятком є ситуація, в якій локальна властивість позначена як `!important`, для таких властивостей, пріоритет надається локальним стилям.
63+
Винятком є ситуація, коли локальна властивість позначена як `!important`, для таких властивостей, пріоритет надається локальним стилям.
6464

6565

6666
## :host(selector)
@@ -111,15 +111,15 @@ customElements.define('custom-dialog', class extends HTMLElement {
111111

112112
Тепер додаткові стилі центрування застосовуються лише до першого діалогу: `<custom-dialog centered>`.
113113

114-
Підсумовуючи, ми можемо використовувати сімейство селекторів `:host` для стилізації основного елементу компоненту. Ці стилі (окрім позначених як `!important`) можуть бути перевизначені всередині документу.
114+
Підсумовуючи, ми можемо використовувати сімейство селекторів `:host` для стилізації основного елементу компоненту. Ці стилі (окрім позначених як `!important`) можуть бути перевизначені глобальними стилями документу.
115115

116116
## Стилізація контенту слотів
117117

118118
Розглянемо ситуацію зі слотами.
119119

120120
Елементи слотів приходять зі світлого DOM, тому вони використовують стилі документу. Локальні стилі не впливають на вміст слотів.
121121

122-
У наведеному нижче прикладі , `<span>` має жирний шрифт, згідно стилю документу, але не приймає `background` з локального стилю:
122+
У наведеному нижче прикладі, `<span>` має жирний шрифт, згідно стилю документу, але не приймає `background` з локального стилю:
123123
```html run autorun="no-epub" untrusted height=80
124124
<style>
125125
*!*
@@ -178,12 +178,12 @@ customElements.define('user-card', class extends HTMLElement {
178178
179179
В даному випадку, `<p>Петро Щур</p>` має жирний шрифт, оскільки CSS успадкування діє між `<slot>` та його наповненням. Але в самому CSS не всі властивості успадковуються.
180180
181-
Другою опцією є використання псевдо-класу `::slotted(selector)`. Він співвідносить елементи відповідно двом умовам:
181+
Другою опцією є використання псевдо-класу `::slotted(selector)`. Він застосовує стилі відповідно до двох умов:
182182
183-
1. Це елемент, що приходить зі світлого DOM. Назва слоту не має значення. Будь-який елемент, але лише цей елемент, а не його діти.
183+
1. Це елемент-слот, що приходить зі світлого DOM. Назва слоту не має значення. Будь-який слот, але саме цей елемент, а не його діти.
184184
2. Елемент збігається з `selector`.
185185
186-
В нашому прикладі, `::slotted(div)` обирає саме `<div slot="username">`, без дочірніх елементів:
186+
В нашому прикладі, `::slotted(div)` застосовується саме до `<div slot="username">`, без дочірніх елементів:
187187
188188
```html run autorun="no-epub" untrusted height=80
189189
<user-card>
@@ -229,7 +229,7 @@ customElements.define('user-card', class extends HTMLElement {
229229
230230
Селектори по типу `:host` застосовують правила до елементу `<custom-dialog>` чи `<user-card>`, але як стилізувати елементи тіньового DOM всередині нього?
231231
232-
Жоден селектор не може напряму вплинути на стилі тіньового DOM зсередини документу. Але так само, як ми надали доступ до методів, аби ті взаємодіяли з нашим компонентом, ми можемо відкрити для стилізації CSS змінні(кастомні CSS властивості).
232+
Жоден селектор не може напряму вплинути на стилі тіньового DOM з глобальних стилів документу. Але так само, як ми надали доступ до методів, щоб взаємодіяти з нашим компонентом, ми можемо відкрити CSS змінні(кастомні CSS властивості) для його стилізації.
233233
234234
**Кастомні CSS властивості існують на всіх рівнях, як в світловому, так і в тіньовому.**
235235
@@ -303,11 +303,11 @@ customElements.define('user-card', class extends HTMLElement {
303303
Локальні стилі можуть впливати на:
304304
- тіньове дерево,
305305
- тіньовий хост з псевдокласами `:host` та `:host()`,
306-
- елементи(приходять зі світлого DOM), `::slotted(selector)` дозволяє обрати лише їх, без дочірніх елементів.
306+
- елементи-слоти (які приходять зі світлого DOM), `::slotted(selector)` дозволяє обрати лише їх, без дочірніх елементів.
307307
308308
Стилі документу можуть впливати на:
309309
- тіньовий хост (через його перебування в зовнішньому документі)
310-
- елементи та їх вміст (також через перебування в зовнішньому документі)
310+
- елементи-слоти та їх вміст (також через перебування в зовнішньому DOM документа)
311311
312312
Коли CSS властивості суперечать одна одній, зазвичай стилі документу мають перевагу, якщо дана властивість не позначена як `!important`. Тоді перевага надається локальним стилям.
313313

0 commit comments

Comments
 (0)