CSS правило @import
Определение и применение
Правило @import импортирует CSS в текущую таблицу. Оно должно предшествовать обычным правилам; перед ним
допустимы @charset и объявления порядка слоёв @layer reset, base;, но не блоки слоёв.
С использованием медиазапросов вы можете импортировать CSS стили для опреденных типов устройств, будь-то принтер или телевизор. Браузеры могут избегать загрузки (импорта) тех стилей, которые не поддерживаются на этом типе устройства. Медиазапросы указываются через пробел после URL адреса с которого происходит загрузка CSS стилей. Обращаю Ваше внимание, что необходимо разделять каждый медиазапрос запятой.
Импорт добавляет отдельный запрос CSS-файла и может создать цепочку зависимых загрузок. Для независимых таблиц часто
удобнее <link rel="stylesheet"> в HTML: браузер обнаруживает их раньше.
@import полезен для организации таблиц, условий и назначения слоя.
Импорт может задерживать обнаружение и загрузку зависимых файлов. Скорость сети не меняет порядок каскада:
импортированные правила участвуют в нём на месте @import. Относительный URL во внешнем CSS отсчитывается
от адреса CSS-файла.
Современная запись также поддерживает слой и условие:
@import url("theme.css") layer(theme) supports(display: grid) (min-width: 40rem);. Условие
supports() проверяет поддержку CSS, а медиазапрос — среду отображения.
Поддержка браузерами
Спецификация: CSS cascade-5
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
import | 1 | 12 | 1 | 3.5 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 |
layer | 99 | 99 | 97 | 85 | 15.4 | 99 | 97 | 68 | 15.4 | 18.0 | 99 | 15.4 |
supports | 122 | 122 | 115 | 108 | 17.5 | 122 | 115 | 81 | 17.5 | 26.0 | 122 | 17.5 |
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
CSS синтаксис
@import url;
@import url list-of-media-queries (медиазапросы)*;
@media, которое используется для изменения CSS стилей на основании определенных характеристик устройства, связанных с
отображением контента, таких как ширина, высота, ориентация, разрешение экрана и так далее.
Значения правила
| Значение | Описание |
|---|---|
url |
Определяет URL адрес ресурса для импорта. URL-адрес может быть как абсолютным, так и относительным. |
list-of-media-queries |
Разделенный запятыми список медиазапросов. Если браузер не поддерживает эти запросы, он не загружает связанный ресурс. |
Версия CSS
CSS1Примеры использования
Здесь показаны отдельные файлы: сохраните их в одной папке и подключите main.css к HTML через link. Импорт должен находиться перед обычными правилами. Листинги оставлены раздельными, чтобы общий редактор не объединил файлы и не скрыл работу импорта.
Файл colors.css
.notice {
color: #9b3c00;
}
Файл main.css
@import url("colors.css");
.notice {
padding: 16px;
border: 1px solid currentColor;
}
HTML-документ
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Импорт CSS</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<p class="notice">Цвет загружается из colors.css.</p>
</body>
</html>Импорт по условию
Замените первую строку main.css следующим правилом. Цвет из colors.css применяется при ширине окна от 600px; остальные правила main.css работают при любой ширине.
@import url("colors.css") (min-width: 600px);Импорт внутри style
Вместо link можно поместить импорт в начало элемента style в head документа.
<style>
@import url("colors.css");
.notice { padding: 16px; }
</style>