Warum bevorzugt Drupal 7 CSS @ Import-Regeln gegenüber <link> -Tags?


25

"Nicht benutzen @import", sagen viele.

Es gibt viele Mängel bei der Verwendung @import.

  • Die Verwendung @importinnerhalb eines Stylesheets erhöht die gesamte Download-Zeit der Seite um einen weiteren Roundtrip.
  • Bei Verwendung @importin IE wird die Download-Reihenfolge geändert. Dies kann dazu führen, dass das Herunterladen von Stylesheets länger dauert, was den Fortschritt des Renderns behindert und die Seite langsamer erscheinen lässt.

Warum wird es von Drupal 7 verwendet?

Ich möchte die @importRegeln in <link>Tags ändern . Wie kann ich das machen?


1
+1 für die Frage, ich wollte nur das gleiche fragen, und fand dann deine, danke!
Sk8erPeter

Antworten:


22

Verwenden Sie @import nicht zum Importieren von CSS-Dateien :

@import wird nur im Nicht-CSS-Aggregationsmodus verwendet. Dies dient zur Umgehung der IE-Einschränkung mit der Anzahl der Tags.

Dies sollte den Grund erklären und wie man es loswird. Jede Produktionsstätte sollte CSS-Aggregation verwenden und kein @import haben.


1
+1, danke für die Antwort. Dies ist also eine Problemumgehung für das IE CSS Optimizer-Modul ( drupal.org/project/ie_css_optimizer ), das in Drupal 6 verwendet werden musste, um das Problem zu beheben, dass Internet Explorer das Laden von mehr als 31 verknüpften Stylesheets ablehnt.
Sk8erPeter

Ich weiß, dass dies einige Jahre später ist und die meisten vernünftigen Leute keinen IE verwenden. Leider arbeite ich nicht für die meisten gesunden Menschen. Bei Verwendung von "reply.js" in IE 8 funktioniert die Verwendung von "@imports" nicht. Dieses Problem kann schwer zu finden sein
DeveloperChris

Was mich betrifft, bin ich noch nie auf die Einschränkung von IE-Tags gestoßen. Es scheint also eine dumme Entscheidung zu sein. Überschreibung eines Problems, das so gut wie nie auftritt. Wenn es viele CSS-Dateien gibt, müssen Sie überlegen, wie Sie einen Großteil davon zusammenführen können. Um das Laden der Seite zu beschleunigen.
Rantiev

-1, Diese Antwort beantwortet nicht die beiden Fragen im ursprünglichen Beitrag. Warum verwendet Drupal @import und wie ändern wir es?
Colin
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.