Задать вопрос

Как лучше подключать стили — через link или @import?

Некоторые разработчики шаблонов и тем подключают все стили через link:
<link rel="stylesheet" href="bootstrap.css">
<link rel="stylesheet" href="fontawesome.css">
<link rel="stylesheet" href="style.css">

Я предпочитаю делать так, на сайте одна строка:
<link rel="stylesheet" href="style.css">
а все остальное через @import (при условии, что оно используется на всех страницах):
@import url('bootstap.css');
@import url('fontawesome.css');

При этом FontAwesome может не работать на мобильных. В этой статье написано, что одним из минусов @import есть то, что он не загружается в той последовательности, как указан.

Что скажут Гуру по этому поводу?
  • Вопрос задан
  • 1932 просмотра
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
Moskus
@Moskus
Если вы подключаете один файл через <link>, а потом внутри него вставляете несколько @import, то все, что вы подключаете через @import будет загружаться только после того, как будет полностью прочитан тот первый файл стилей.
Я не могу, соответственно, сказать, что это абсолютно всегда вредно. Просто нужно понимать, когда это использовать, а когда - нет.
Например, если по какой-то причине вы не хотите параллельной загрузки и произвольного порядка применения стилей browser-ом к странице, используйте @import, если наоборот - используйте <link>.

Утверждение о том, что минимально возможное число файлов стилей (в идеале - один) - это всегда хорошо, далеко от универсального, потому что эффект большего или меньшего числа стилей зависит от характеристик подключения (максимальное число одновременных запросов на сервере) и содержимого страницы. Если общее число запросов для получения страницы и так мало, или есть дополнительный контент (изображения) загружаются асинхронно по мере прокрутки, то нет никакого смысла сводить число файлов стилей к одному - нужно ориентироваться на то, сколько вообще запросов потребуется для того, чтобы загрузить страницу.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ronnie_Gardocki
@Ronnie_Gardocki
Я у мамы фронтендщик.
Использование Dmitrijs Balcers это вредная практика. Мне сейчас в 4 часа ночи лень искать пруфлинки, но про это писали уже миллион раз.
Речь конечно же идет об импорте as is. Если же на проекте имеется склеивание стилей, то там только импорт и юзается наверное в главном файле стилей.
А вообще в 2015 такие вопросы задавать некорректно, ибо фронтенд у вас должен автоматизированно собираться на проекте.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы