Дополнительные @importоператоры требуют дополнительных запросов к серверу. В качестве альтернативы, объедините все CSS в один файл, чтобы избежать нескольких HTTP-запросов. Например, скопировать содержимое base.cssи special.cssINTO base-special.cssи ссылки только base-special.css.
Единственное предостережение в том, что старые веб-браузеры не будут его поддерживать. Фактически, это один из способов «хакать» CSS, чтобы скрыть стили CSS от старых браузеров.
@import url("base.css");Штраф , но медведь работает в виду , что каждое @importутверждение новый запрос к серверу. Это не может быть проблемой для вас, но когда требуется оптимальная производительность, вам следует избегать @import.
файлы CSS не кэшируются? Таким образом, он будет запрашивать файл только один раз? кажется тривиальным для беспокойства.
эндолит
1
Если вы не уменьшаете свой CSS до одного файла, то да, вы правы, но если это так, то вы просто вызываете один файл CSS. Поправь меня если я ошибаюсь конечно.
В некоторых случаях это возможно при использовании @import "file.css", и большинство современных браузеров должны это поддерживать, более старые браузеры, такие как NN4, будут слегка чокнутыми.
Примечание. Оператор импорта должен предшествовать всем остальным объявлениям в файле и проверять его во всех целевых браузерах, прежде чем использовать его в рабочей среде.
Правило "@import" может вызывать несколько файлов стилей. Эти файлы вызываются браузером или агентом пользователя при необходимости, например, HTML-теги вызывают CSS.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"lang="EN"dir="ltr"><head><title>Using @import</title><metahttp-equiv="Content-Type"content="text/html; charset=iso-8859-1"/><styletype="text/css">@importurl("main.css");</style></head><body></body></html>
Просто чтобы указать, в то время как @hylp указывает, что возможно переопределить классы из импорта (классы projectionи screen?), Это обычно не очень хорошая вещь. ;)
Tcll
2
@import url('style.css');
В отличие от лучшего ответа, при использовании HTTP / 2.0 не рекомендуется объединять все CSS-файлы в один блок.
Обратите внимание, что media = "print" имеет 2 таблицы стилей: myap-print.css и myap-screen.css. Это тот же эффект, что и включение myap-screen.css в myap-print.css.
Я наткнулся на это, и я просто хотел сказать, ПОЖАЛУЙСТА, НЕ ИСПОЛЬЗУЙТЕ @IMPORT В CSS !!!! Оператор импорта отправляется клиенту, и клиент выполняет другой запрос. Если вы хотите разделить ваш CSS между различными файлами, используйте Less. В «Меньше» оператор импорта выполняется на сервере, а выходные данные кэшируются и не создают снижения производительности, заставляя клиента устанавливать другое соединение. Sass - это еще один вариант, который я не исследовал. Честно говоря, если вы не используете Less или Sass, вам следует начать. http://willseitz-code.blogspot.com/2013/01/using-less-to-manage-css-files.html
Клиент выполнит другой запрос, а не другое соединение. А по качеству это хороший способ использовать импортные css. Гораздо лучше иметь этот импорт вместо большого файла CSS, который растет и растет вместе с проектом ...
И все же - это всего лишь еще одна просьба. Из возможных сотен для полной загрузки страницы.
Стив Беннетт
8
Правильно?! Еще одна просьба вряд ли оправдывает отказ от размахиваний руками и отказ от колпачков. Запрос не плохая практика. -1 к ответу - МЕНЬШЕ и САССОВОЙ культ груза.
Крис Бейкер
Ну, это всего лишь один запрос больше ... но вы можете импортировать больше CSS в один, и они загружаются параллельно.
Ответы:
Да:
Замечания:
@import
Правило должно предшествовать все другие правила ( за исключением@charset
).@import
операторы требуют дополнительных запросов к серверу. В качестве альтернативы, объедините все CSS в один файл, чтобы избежать нескольких HTTP-запросов. Например, скопировать содержимоеbase.css
иspecial.css
INTObase-special.css
и ссылки толькоbase-special.css
.источник
Да. Возможен импорт файла CSS в другой файл CSS.
Это должно быть первое правило в таблице стилей, использующее правило @import .
Единственное предостережение в том, что старые веб-браузеры не будут его поддерживать. Фактически, это один из способов «хакать» CSS, чтобы скрыть стили CSS от старых браузеров.
Обратитесь к этому списку для поддержки браузера.
источник
@import url("base.css");
Штраф , но медведь работает в виду , что каждое@import
утверждение новый запрос к серверу. Это не может быть проблемой для вас, но когда требуется оптимальная производительность, вам следует избегать@import
.источник
@import
Правило CSS делает именно это. Например,источник
Да.
Правило задокументировано здесь .
источник
В некоторых случаях это возможно при использовании @import "file.css", и большинство современных браузеров должны это поддерживать, более старые браузеры, такие как NN4, будут слегка чокнутыми.
Примечание. Оператор импорта должен предшествовать всем остальным объявлениям в файле и проверять его во всех целевых браузерах, прежде чем использовать его в рабочей среде.
источник
Да, используйте @import
подробную информацию легко найти, хорошая на http://webdesign.about.com/od/beginningcss/f/css_import_link.htm
источник
да, это возможно, используя @import и указав путь к CSS-файлу, например
или
источник
@import("/path-to-your-styles.css");
Это лучший способ включить таблицу стилей CSS в таблицу стилей CSS, используя css.
источник
Правило "@import" может вызывать несколько файлов стилей. Эти файлы вызываются браузером или агентом пользователя при необходимости, например, HTML-теги вызывают CSS.
Файл CSS "main.css" содержит следующий синтаксис:
Для вставки в элемент стиля используйте createTexNode, не используйте innerHTML, но:
источник
projection
иscreen
?), Это обычно не очень хорошая вещь. ;)В отличие от лучшего ответа, при использовании HTTP / 2.0 не рекомендуется объединять все CSS-файлы в один блок.
источник
Импорт бутстрапа с альтервиста и вордпресса
Я использую это для импорта bootstrap.css в altervista с WordPress
и он работает нормально, так как он удалил бы код ссылки HTML, если я поместил его на страницу
источник
Да, вы можете легко импортировать один CSS в другой (в любом месте на веб-сайте). Вы должны использовать как:
источник
По какой-то причине @import не работает для меня, но в этом нет необходимости, не так ли?
Вот что я сделал вместо этого, в HTML:
Обратите внимание, что media = "print" имеет 2 таблицы стилей: myap-print.css и myap-screen.css. Это тот же эффект, что и включение myap-screen.css в myap-print.css.
источник
спой здесь правило CSS @import
источник
Я создал файл main.css и включил в него все CSS-файлы.
Мы можем включить только один файл main.css
источник
Я наткнулся на это, и я просто хотел сказать, ПОЖАЛУЙСТА, НЕ ИСПОЛЬЗУЙТЕ @IMPORT В CSS !!!! Оператор импорта отправляется клиенту, и клиент выполняет другой запрос. Если вы хотите разделить ваш CSS между различными файлами, используйте Less. В «Меньше» оператор импорта выполняется на сервере, а выходные данные кэшируются и не создают снижения производительности, заставляя клиента устанавливать другое соединение. Sass - это еще один вариант, который я не исследовал. Честно говоря, если вы не используете Less или Sass, вам следует начать. http://willseitz-code.blogspot.com/2013/01/using-less-to-manage-css-files.html
источник