---
title: At-rules
slug: Web/CSS/At-rule
translation_of: Web/CSS/At-rule
---
{{cssref}}
At-rules это CSS операторы, которые показывают CSS как себя вести. Они начинаются со знака at, '@
' (U+0040 КОММЕРЧЕСКОЕ AT
), сопровождается идентификатором, и включает в себя всё до следующей точки с запятой, ';
' (U+003B ТОЧКА С ЗАПЯТОЙ
), или до следующего CSS блока, в зависимости от того, что наступит раньше.
/* Общая структура */
@ИДЕНТИФИКАТОР (ПРАВИЛО);
/* Пример: говорит браузеру использовать UTF-8 кодировку символов */
@charset "utf-8";
Существует несколько at-правил, обозначаемые идентификаторами, каждое из которых имеет свой синтаксис:
- {{cssxref("@charset")}} — Определяет кодировку символов, используемый таблицей стилей.
- {{cssxref("@import")}} — Сообщает движку CSS включить внешнюю таблицу стилей.
- {{cssxref("@namespace")}} — Сообщает механизму CSS, что все его содержимое должно рассматриваться с приставкой пространства имен XML.
- Вложенные at-правила — Подмножество вложенных операторов, которые могут использоваться как оператор таблицы стилей, а также внутри правил условной группы.
- {{cssxref("@media")}} — Условное групповое правило, которое будет применять его содержимое, если устройство соответствует критериям условия, определенному с помощью медиазапроса.
- {{cssxref("@supports")}} — Условное групповое правило, которое будет применять его содержимое, если браузер соответствует критериям данного условия.
- {{cssxref("@document")}} {{experimental_inline}} — Условное групповое правило, которое будет применять его содержимое, если документ, в котором применяется таблица стилей, соответствует критериям данного условия.
- {{cssxref("@page")}} — Описывает аспект изменений макета, который будет применен при печати документа.
- {{cssxref("@font-face")}} — Описывает аспект внешнего шрифта для загрузки.
- {{cssxref("@keyframes")}} — Описывает аспект промежуточных шагов в последовательности анимации CSS.
- {{cssxref("@viewport")}} {{experimental_inline}} — Описывает аспекты области просмотра для устройств с маленьким экраном. (в настоящее время на стадии разработки проекта)
- {{cssxref("@counter-style")}} — Определяет конкретные counter-styles, которые не являются частью предопределенного набора стилей.
- {{cssxref("@font-feature-values")}} (плюс
@swash
, @ornaments
, @annotation
, @stylistic
, @styleset
и @character-variant
)
— Определите общие имена в {{cssxref("font-option-alternates")}} для функции, которая по-разному активируется в OpenType (at the Candidate Recommendation stage, but only implemented in Gecko as of writing)
Условные групповые правила
Как и значения свойств, каждое at-правило имеет свой синтаксис. Тем не менее, некоторые из них могут быть сгруппированы в специальную категорию, называемую Условные групповые правила. Эти операторы имеют общий синтаксис, и каждый из них может включать вложенные операторы - либо наборы правил, либо вложенные правила. Кроме того, все они передают общее семантическое значение - все они связывают некоторый тип условия, которое в любой момент оценивается как истинное или ложное. Если условие оценивается как истинное, то будут применяться все операторы в группе. Условные групповые правила описываются в CSS Conditionals Level 3 и в:
- {{cssxref("@media")}},
- {{cssxref("@supports")}},
- {{cssxref("@document")}}. (deferred to Level 4 of CSS Spec)
Поскольку каждая условная группа может также содержать вложенные операторы, может быть неопределенное количество вложений.
Характеристики
Specification |
Status |
Comment |
{{SpecName('CSS3 Conditional')}} |
{{Spec2('CSS3 Conditional')}} |
Начальное определение |
{{SpecName('Compat', '#css-at-rules', 'CSS At-rules')}} |
{{Spec2('Compat')}} |
Стандартизирует @-webkit-keyframes . |
Читайте также