@
існує ще з часів роботи @import
в CSS1, хоча це, мабуть, стає все більш поширеним у останніх @media
(CSS2, CSS3) та @font-face
(CSS3) конструкціях. Сам @
синтаксис, хоча, як я вже згадував, не новий.
Вони всі відомі в CSS як правила . Це спеціальні інструкції для браузера, не пов'язані безпосередньо зі стилізацією (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
правила , спільно з медіа-запитами (раніше були лише типи медіа ), контролюють, які стилі застосовуються, а які не ґрунтуються на тому, на яких носіях відображається сторінка. У моєму прикладі коду, лише при друкуванні документа слід встановлювати весь текст чорним кольором на білому тлі (папір). Ви можете використовувати медіа-запити для фільтрації друкованих носіїв, мобільних пристроїв тощо, а також стильові сторінки по-різному.
Правила не мають жодного відношення до селекторів . Через їх різний характер, різні правила визначаються по-різному в безлічі різних модулів. Більше прикладів:
(цей список далеко не вичерпний)
Ви можете знайти ще один невичерпний список у MDN .