0Pricing
CSS Academy · Урок

Добавление стилей в слои

Назначайте правила CSS определённым слоям с помощью блоков @layer и импортируемых таблиц стилей.

«Добавление стилей в слои» — бесплатный урок CSS Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения CSS Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс CSS Academy содержит 4 уроков всего.

Два способа добавления стилей в слои

Можно добавлять стили в слой непосредственно (внутри блока @layer) или через @import, чтобы назначить импортируемой таблице стилей определённый слой.

Блок @layer непосредственно в таблице стилей

Поместите правила внутрь блока @layer с именем слоя:

<button class="button">Layered button</button>

Добавление в существующий слой

Можно добавлять стили в один слой в нескольких отдельных блоках @layer. Все объявления объединяются в этом слое:

<button class="button">Button</button>
<input class="input" placeholder="Input" />

Анонимные слои

Блок @layer без имени создаёт анонимный слой. К анонимным слоям нельзя добавлять стили позже, и они существуют в том месте, где появились:

<p style="margin: 24px; border: 1px dashed #999;">Normal paragraph (default margin)</p>
<p class="reset" style="border: 1px dashed #999;">Reset paragraph (anonymous layer sets margin: 0)</p>

@import с @layer

Назначьте целую импортируемую таблицу стилей определённому слою:

<p>This scene assigns whole imported stylesheets to layers — see the CSS panel.</p>

Разделение CSS компонента между файлами

В модульном проекте каждый файл компонента добавляет стили в слой компонентов:

<button class="button">Button</button>
<div class="card">Card</div>

Слой и PostCSS/Sass

Sass и PostCSS работают вместе с @layer. Можно определить слои в основном входном файле и использовать @use или @import, чтобы подключить файлы-фрагменты компонентов, добавляющие стили в эти слои.

Встроенные стили и слои

Встроенные стили (атрибут style="") не зависят от слоёв и всегда имеют преимущество над стилями любого слоя. В слои можно помещать только правила таблицы стилей, включая блоки <style>.

Отладка слоёв в DevTools

Chrome DevTools показывает границы слоёв на панели «Стили». Правила из слоя с более низким приоритетом, переопределённые слоем с более высоким приоритетом, отображаются перечёркнутыми, а выигравший слой указывается рядом.

Обратная совместимость

Браузеры, не поддерживающие @layer, воспринимают все блоки @layer как стандартные блоки CSS и отображают всё содержимое. Поведение каскада отличается, но стили не теряются. Для безопасности заключайте код, зависящий от этой возможности, в @supports (@layer selector).

Перенос существующего CSS в слои

Стратегия переноса:

  1. объявите слои в начале основного файла CSS
  2. поместите каждый существующий раздел CSS в соответствующий блок слоя
  3. проверьте результат и исправьте возникающие проблемы с приоритетом
  4. со временем удалите ненужные селекторы с высокой специфичностью

Быстрая проверка

Как добавить стили из нескольких отдельных блоков @layer в один слой с тем же именем?

Повторение

Добавляйте стили в слои с помощью именованных блоков @layer name { }; такие блоки можно разделять между файлами, и все они будут объединены. Назначайте импортируемым таблицам стилей слои с помощью @import layer(). Анонимные слои нельзя открыть повторно. Встроенные стили всегда переопределяют стили, объявленные в слоях.

Часто задаваемые вопросы

Урок «Добавление стилей в слои» бесплатный?

Да — полный текст урока «Добавление стилей в слои» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс CSS Academy, подпишись на CoddyKit PRO. Курс CSS Academy содержит 4 уроков всего.

Чему я научусь в уроке «Добавление стилей в слои»?

Назначайте правила CSS определённым слоям с помощью блоков @layer и импортируемых таблиц стилей. Ты практикуешь CSS Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать CSS Academy?

Предыдущий опыт не требуется. CSS Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Добавление стилей в слои»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке CSS Academy?

Да. Каждый урок CSS Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Объявление и порядок @layer
  2. Добавление стилей в слои
  3. Приоритет слоёв и взаимодействие с !important
  4. Слои в стороннем коде
← Назад к CSS Academy