Чому Drupal 7 віддає перевагу правилам CSS @import перед тегами <посилання>?


25

"Не використовуйте @import," кажуть багато хлопців.

Існує маса недоліків використання @import.

  • Використання @importв таблиці стилів додає ще один зворотній бік до загального часу завантаження сторінки.
  • Використання @importв IE призводить до зміни порядку завантаження. Це може спричинити завантаження таблиць стилів довше, що перешкоджає візуалізації прогресу і робить сторінку повільнішою.

Чому Drupal 7 використовує його?

Я хочу змінити @importправила на <link>теги. Як я можу це зробити?


1
+1 за запитання, я просто хотів задати те саме, а потім знайшов своє, спасибі!
Sk8erPeter

Відповіді:


22

Не використовуйте @import для імпорту файлів css :

@import використовується лише в режимі агрегації без CSS. Це робиться для вирішення обмеження IE з кількістю тегів.

Це повинно пояснити причину та способи її позбутися. Будь-який виробничий сайт повинен використовувати агрегацію CSS, а не мати @import.


1
+1, дякую за відповідь. Отже, це рішення для того, що модуль IE CSS Optimizer ( drupal.org/project/ie_css_optimizer ) повинен був використовуватися в Drupal 6, щоб виправити проблему, через яку Internet Explorer відмовляється завантажувати більше 31 пов'язаних таблиць стилів.
Sk8erPeter

Я знаю, що це через кілька років, і більшість розумних людей не використовують IE. на жаль, я не працюю для більшості здорових людей. При використанні respo.js в IE 8 він не працює з використанням @imports. цю готчу важко знайти
DeveloperChris

Щодо мене, я ніколи не натикався на обмеження тегів IE. Тож це здається дурним рішенням. Переоцінка проблеми, яка майже ніколи не відбувається. Якщо файлів CSS дуже багато, ви повинні подумати, як об’єднати більшість їх частин. Щоб пришвидшити завантаження сторінки.
Рантьєв

-1, Ця відповідь не відповідає на два запитання в оригінальній публікації. Чому Drupal використовує @import і як ми можемо це змінити?
Колін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.