Skip to content

Commit

Permalink
update(CSS): web/css/@layer (#3629)
Browse files Browse the repository at this point in the history
* update(CSS): web/css/@layer

* update(CSS): web/css/@layer
  • Loading branch information
undead404 authored Dec 25, 2024
1 parent c9f3058 commit 049b51c
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions files/uk/web/css/@layer/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ browser-compat: css.at-rules.layer

![Діаграма, що показує пріоритетність каскадних шарів](https://webdoky.github.io/shared-assets/images/diagrams/css/at-rules/layer-cascade.svg)

Як зазначено в діаграмі вище, _важливі оголошення_, тобто оголошення з позначкою `!important`, мають пріоритет над _звичайними оголошеннями_, тобто оголошеннями без позначки `!important`. Порядок пріоритету серед важливих правил зворотний щодо порядку серед звичайних правил. Переходи мають найвищий пріоритет. Далі в порядку від вищого до нижчого пріоритету стоять важливі оголошення {{glossary("user agent", "користувацького агента")}}, важливі користувацькі оголошення та важливі оголошення розробника. Користувачі можуть задавати стилі за допомогою налаштувань браузера, налаштувань операційної системи та розширень браузера. Їхні важливі оголошення мають пріоритет над важливими оголошеннями _розробника_.

В межах стилів розробника всі важливі оголошення в шарах CSS мають пріоритет над важливими оголошеннями, оголошеними поза шарами, а всі звичайні оголошення всередині шарів CSS мають нижчий пріоритет, ніж оголошення, оголошені поза шарами.
Порядок оголошення – важливий. Перший оголошений шар отримує найнижчий пріоритет, а останній – найвищий. Проте така пріоритетність перекидається на зворотну, коли вживається позначка [`!important`](/uk/docs/Web/CSS/important).

Директива `@layer` вживається для створення каскадного шару одним із трьох способів.
Expand Down Expand Up @@ -70,7 +73,7 @@ browser-compat: css.at-rules.layer

Це корисно, тому що початковий порядок, у якому оголошуються шари, вказує на те, який шар має пріоритет. Як і для оголошень, останній шар у переліку перемагає, якщо оголошення знайдено в декількох шарах. Тому, у попередньому прикладі, якщо конкурентні правила знайдено в `theme` і `utilities`, то перемагає те, що в `utilities`, – воно й застосовується.

Правило в `utilities` буде застосоване, _навіть якщо воно має меншу специфічність_, ніж правило в `theme`. Бо коли сформовано порядок шарів, то специфічність і порядок появи ігноруються. Це дає змогу створювати простіші селектори CSS, оскільки немає потреби перевіряти, що селектор матиме достатньо високу специфічність, аби переважити конкурентні правила; все, що потрібно, – це переконатися, що воно з'являється в пізнішому шарі.
Правило в `utilities` буде застосоване, _навіть якщо воно має меншу специфічність_, ніж правило в `theme`. Бо коли сформовано порядок шарів, то специфічність і порядок появи ігноруються. Це дає змогу застосовувати простіші селектори CSS, оскільки немає потреби перевіряти, що селектор матиме достатньо високу специфічність, аби переважити конкурентні правила; все, що потрібно, – це переконатися, що воно з'являється в пізнішому шарі.

> [!NOTE]
> Після оголошення назв шарів, задавши їх порядок, можна додати до шару правила CSS, повторно оголосивши його назву. Ці стилі будуть додані до шару, а порядок шарів не зміниться.
Expand Down Expand Up @@ -120,7 +123,7 @@ browser-compat: css.at-rules.layer

## Приклади

### Простий приклад
### Базовий приклад

У наступному прикладі створюються два правила CSS. Одне для елемента {{htmlelement("p")}} поза будь-яким шаром і одне всередині шару з назвою `type` для `.box p`.

Expand Down Expand Up @@ -154,7 +157,7 @@ p {

#### Результат

{{EmbedLiveSample("prostyi-pryklad")}}
{{EmbedLiveSample("bazovyi-pryklad")}}

### Призначення правил наявним шарам

Expand Down Expand Up @@ -211,6 +214,6 @@ p {
- [`!important`](/uk/docs/Web/CSS/important)
- [`revert-layer`](/uk/docs/Web/CSS/revert-layer)
- [Знайомство з Каскадом CSS](/uk/docs/Web/CSS/Cascade)
- [Каскад, специфічність і успадкування](/uk/docs/Learn/CSS/Building_blocks/Cascade_and_inheritance)
- [Каскадні шари](/uk/docs/Learn/CSS/Building_blocks/Cascade_layers)
- [Навчання – Обробка конфліктів](/uk/docs/Learn_web_development/Core/Styling_basics/Handling_conflicts)
- [Навчання – Каскадні шари](/uk/docs/Learn_web_development/Core/Styling_basics/Cascade_layers)
- [Майбутнє CSS – каскадні шари](https://www.bram.us/2021/09/15/the-future-of-css-cascade-layers-css-at-layer/) на bram.us (2021)

0 comments on commit 049b51c

Please sign in to comment.