0Pricing
CSS Academy · Урок

Каскад: источник и порядок

Узнайте, как источник таблицы стилей (пользователь, автор, браузер) и порядок в исходном коде определяют приоритет каскада.

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

Что такое каскад

Каскад — это алгоритм CSS, определяющий, какое объявление стиля выигрывает, когда несколько правил применяются к одному свойству одного элемента. Он учитывает источник, важность, специфичность и порядок в исходном коде.

Источники каскада

Объявления CSS поступают из трёх источников, расположенных в порядке приоритета:

  1. Таблица стилей пользовательского агента — значения браузера по умолчанию
  2. Пользовательская таблица стилей — пользовательские стили (для специальных возможностей)
  3. Таблица стилей автора — ваши файлы CSS

Приоритет источников каскада (обычный)

Для обычных объявлений (без !important) стили автора переопределяют пользовательские стили, а пользовательские стили переопределяют стили пользовательского агента. Поэтому ваш CSS имеет приоритет над значениями браузера по умолчанию.

Приоритет источников каскада (!important)

Добавление !important изменяет порядок источников на обратный для этого объявления:

  1. !important пользовательского агента
  2. !important пользователя — наивысший приоритет (специальные возможности)
  3. !important автора

Поэтому пользовательские переопределения для специальных возможностей (например, принудительные цвета) нельзя отменить с помощью CSS автора.

После источника: специфичность

Когда конкурируют два объявления из одного источника, победителя определяет специфичность. Выигрывает более высокая специфичность — именно об этом разработчики в первую очередь думают при отладке CSS.

После специфичности: порядок в исходном коде

Если два правила имеют одинаковую специфичность, выигрывает то, которое расположено позже в таблице стилей. Это правило «порядка в исходном коде». Поэтому важен порядок операторов @import и объявлений @keyframe.

@layer и источник

Слои каскада CSS (@layer) добавляют новый этап каскада между источником и специфичностью. Порядок слоёв определяет приоритет: объявление в более позднем слое выигрывает у объявления в более раннем независимо от их специфичности.

Полный порядок приоритетов каскада

Полный порядок приоритетов (от наивысшего к наименьшему):

  1. Источник + важность (!important пользователя, !important автора)
  2. Значения анимации
  3. Слои CSS (поздние слои имеют приоритет)
  4. Специфичность
  5. Порядок в исходном коде
  6. Значения переходов

Наследование и каскад

Наследование отличается от каскада. Унаследованные значения поступают из вычисленного стиля родительского элемента. Они уступают любому непосредственно применённому значению, даже если оно задано правилом с низкой специфичностью.

Осознанное использование порядка в исходном коде

Размещайте более специфичные стили (стили вариантов) после базовых стилей в таблице стилей. Поэтому файлы компонентов следует подключать после файлов сброса и базовых файлов.

Отладка каскада

На панели стилей DevTools правила перечислены от самого высокого до самого низкого приоритета. Перечёркнутые правила проиграли в каскаде. Наведите указатель на правило, чтобы увидеть его исходный файл и номер строки для отладки.

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

Два правила применяются к одному свойству и имеют одинаковую специфичность. Какое из них выигрывает?

Итоги

Каскад разрешает конфликты стилей, используя источник (автор > пользователь > браузер), затем важность (!important меняет порядок на обратный), затем порядок @layer, затем специфичность и порядок в исходном коде. Понимание каскада позволяет точно предсказать, какое правило выиграет в любом конфликте, — больше никаких догадок.

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

Урок «Каскад: источник и порядок» бесплатный?

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

Чему я научусь в уроке «Каскад: источник и порядок»?

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

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

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

Сколько времени занимает урок «Каскад: источник и порядок»?

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

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

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

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

  1. Расчёт специфичности: встроенный стиль, ID, класс, элемент
  2. Каскад: источник и порядок
  3. !important: когда и почему не следует использовать
  4. Наследование и свойство all
← Назад к CSS Academy