CSS правило @import
CSS правилаОпределение и применение
CSS правило @import используется для импорта содержимого CSS файла в текущую таблицу стилей. Это правило должно предшествовать всем другим видам правил, за исключением правила @charset, которое задает кодировку символов.
С использованием медиазапросов вы можете импортировать CSS стили для опреденных типов устройств, будь-то принтер или телевизор. Браузеры могут избегать загрузки (импорта) тех стилей, которые не поддерживаются на этом типе устройства. Медиазапросы указываются через пробел после URL адреса с которого происходит загрузка CSS стилей. Обращаю Ваше внимание, что необходимо разделять каждый медиазапрос запятой.
Прошу Вас учесть тот момент, что правило @import увеличивает число соединений с сервером, поскольку файл, на который вы ссылаетесь, тоже нужно скачать и проанализировать. Исходя из правил и рекомендаций PageSpeed Insight (Google), связанных с оптимизацией страниц, рекомендуется избегать применения правила @import.
Кроме того, в некоторых случаях правило @import может замедлять загрузку таблиц стилей, либо загружать их не в заданном порядке, что может быть критично для конечного отображения конкретной страницы.
Поддержка браузерами
Свойство | Chrome | Firefox | Opera | Safari | IExplorer | Edge |
---|---|---|---|---|---|---|
@import | Да | Да | Да | Да | Да | Да |
CSS синтаксис
@import url; @import url list-of-media-queries (медиазапросы)*;* - Использование медиазапросов подробно рассмотрено в описании правила @media, которое используется для изменения CSS стилей на основании определенных характеристик устройства, связанных с отображением контента, таких как ширина, высота, ориентация, разрешение экрана и так далее.
Значения правила
Значение | Описание |
---|---|
url | Определяет URL адрес ресурса для импорта. URL-адрес может быть как абсолютным, так и относительным. |
list-of-media-queries | Разделенный запятыми список медиазапросов. Если браузер не поддерживает эти запросы, он не загружает связанный ресурс. |
Версия CSS
CSS1Пример использования
Внешняя таблица стилей может быть подключена к веб-странице с помощью HTML тега <link>, или с использованием встроенного в CSS правила @import, которое по большому счету делает тоже самое. Оба варианта позволяют присоединить таблицы стилей к веб-странице.
Основное отличие правила @import заключается в том, что с использованием этого правила вы можете присоединить одну внешнюю таблицу стилей к другой.
Импортирование к внешней таблице стилей
Давайте рассмотрим пример, который позволит нам присоединить несколько таблиц стилей к одной внешней таблице стилей:
/* Содержимое файла anyname.css */ @import url("color.css"); /* импортируем в основной файл содержимое первого файла css */ @import url("fonts.css"); /* импортируем в основной файл содержимое второго файла css */ /* стили, которые находятся в основном файле css */ селектор { свойство: значение; } ... /* Конец содержимого файла anyname.css */
Чтобы присоединить один внешний файл таблиц стилей к другому, необходимо внутри файла к которому добавляется содержимое объявить правило @import и указать URL путь к этому файлу. Чтобы задать путь необходимо после правила @import указать url("path/to/file"). При этом путь, который указывается в круглых скобках может быть как абсолютным, так и относительным. Информацию о том как задавать абсолютные и относительные пути вы можете узнать в статье учебника HTML 5 "HTML ссылки".
Как и с помощью нескольких тегов <link> вы можете разместить несколько правил @import, чтобы присоединить необходимое количество внешних таблиц стилей.
Обращаю Ваше внимание, что правила @import всегда необходимо указывать перед стилями CSS, иначе таблицы стилей будут проигнорированы браузерами и не импортированы в файл.
Импортирование к внутренней таблице стилей
Кроме того, с использованием правила @import существует возможность привязать внешние таблицы стилей к внутренней таблице стилей документа. Для этого необходимо объявить правило или правила сразу после открывающего тега <style>:
<!DOCTYPE html> <html> <head> <title>Импортирование файла к внутренней таблице стилей</title> <style> @import url("color.css"); /* импортируем к внутренней таблице стилей документа содержимое первого файла css */ @import url("fonts.css"); /* импортируем к внутренней таблице стилей документа содержимое второго файла css */ h1 { text-align: center; /* выравниваем заголовок по центру */ color: red; /*устанавливаем цвет текста красный */ } </style> </head> <body> <h1>Заголовок первого уровня.</h1> <p>Абзац для примера.</p> </body> </html>
Использование медиазапросов при импорте
Используя медиазапросы вы можете импортировать CSS стили на основании определенных характеристик и типа устройства. Браузеры могут избегать загрузки (импорта) тех стилей, которые не поддерживаются на этом типе устройства.
@import url("main.css") (min-width:481px) and (max-width:768px); /* импортируем содержимое файла css, который предназначается для устройств с разрешением экрана, находящегося в диапозоне от 481 пикселей до 768 пикселей */ @import url("print.css") print; /* импортируем содержимое файла css, который предназначается для печатных страниц и для режима предварительного просмотра печати */ @import url("protv.css") projection, tv; /* импортируем содержимое файла css, который предназначается для устройств проекционного типа и телевизионного типа */ @import url("file.css") screen and (orientation:landscape); /* импортируем содержимое файла css, который предназначается для экранов компьютера И альбомной ориентации.*/
Медиазапросы указываются через пробел после URL адреса с которого происходит загрузка CSS стилей. Обращаю Ваше внимание, что необходимо разделять каждый медиазапрос запятой, допускается использование логических операторов. Использование медиазапросов подробно рассмотрено в описании правила @media.
CSS правила