@
существует со времен @import
CSS1, хотя, возможно, он становится все более распространенным в последних конструкциях @media
(CSS2, CSS3) и @font-face
(CSS3). Сам @
синтаксис, как я уже говорил, не нов.
Все они известны в CSS как at-rules . Это специальные инструкции для браузера, которые не имеют прямого отношения к стилю (X) элементов HTML / XML в веб-документах с использованием правил и свойств, хотя они играют важную роль в управлении применением стилей.
Некоторые примеры кода:
/* Import another stylesheet from within a stylesheet */
@import url(style2.css);
/* Apply this style only for printing */
@media print {
body {
color: #000;
background: #fff;
}
}
/* Embed a custom web font */
@font-face {
font-family: 'DejaVu Sans';
src: local('DejaVu Sans Regular'), url(/fonts/DejaVuSans.ttf);
}
@font-face
Правила определяют пользовательские шрифты для использования в ваших проектах, которые не всегда доступны на всех компьютерах, поэтому браузер загружает шрифт с сервера и устанавливает текст в этом пользовательском шрифте так, как если бы на компьютере пользователя был шрифт.
@media
правила , в сочетании с медиазапросами (ранее только типы мультимедиа ), контролируют, какие стили применяются, а какие не зависят от того, на каком носителе отображается страница. В моем примере кода должен быть задан весь текст только при печати документа в черном на белом (бумаге) фоне. Вы можете использовать медиазапросы для фильтрации печатных материалов, мобильных устройств и т. Д., А также для разных стилей страниц.
Правила не имеют никакого отношения к селекторам вообще. Из-за их различной природы различные at-правила определяются по-разному в многочисленных различных модулях. Больше примеров включают в себя:
(этот список далеко не исчерпывающий)
Вы можете найти другой неисчерпывающий список на MDN .