Dlaczego Drupal 7 woli reguły CSS @import od tagów <link>?


25

„Nie używaj @import” - mówi wielu facetów.

Istnieje wiele wad użytkowania @import.

  • Korzystanie @importz arkusza stylów dodaje jeszcze jedną rundę do całkowitego czasu pobierania strony.
  • Używanie @importw IE powoduje zmianę kolejności pobierania. Może to powodować dłuższe pobieranie arkuszy stylów, co utrudnia renderowanie postępów, powodując spowolnienie strony.

Dlaczego Drupal 7 go używa?

Chcę zmienić @importreguły na <link>tagi. W jaki sposób mogę to zrobić?


1
+1 za pytanie, chciałem tylko zadać to samo, a potem znalazłem twoje, dzięki!
Sk8erPeter

Odpowiedzi:


22

Nie używaj @import do importowania plików css :

@import jest używany tylko w trybie agregacji innym niż CSS. Odbywa się to w celu obejścia ograniczenia IE z liczbą tagów.

To powinno wyjaśnić powód i jak się go pozbyć. Każda witryna produkcyjna powinna korzystać z agregacji CSS, a nie mieć @import.


1
+1, dziękuję za odpowiedź. Jest to więc obejście tego, co moduł IE CSS Optimizer ( drupal.org/project/ie_css_optimizer ) musiał zostać wykorzystany w Drupal 6, aby rozwiązać problem polegający na tym, że Internet Explorer odmawia załadowania ponad 31 połączonych arkuszy stylów.
Sk8erPeter

Wiem, że to kilka lat później i większość zdrowych ludzi nie używa IE. niestety nie pracuję dla większości zdrowych ludzi. Podczas korzystania z odpowiedzi.js w IE 8 nie działa przy użyciu @imports. trudno go znaleźć
DeveloperChris

Co do mnie, nigdy nie zderzyłem się z ograniczeniami tagów IE. Wygląda więc na głupią decyzję. Zastąpienie problemu, który prawie nigdy nie występuje. Jeśli jest dużo plików CSS, musisz pomyśleć, jak scalić większość z nich. W celu przyspieszenia ładowania strony.
Rantiev

-1, ta odpowiedź nie odpowiada na dwa pytania w oryginalnym poście. Dlaczego Drupal używa @import i jak go zmienić?
Colin
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.