Perché Drupal 7 preferisce le regole CSS @import ai tag <link>?


25

"Non usare @import", dicono molti ragazzi.

Ci sono molte carenze nell'uso @import.

  • L'utilizzo @importall'interno di un foglio di stile aggiunge un ulteriore roundtrip al tempo complessivo di download della pagina.
  • L'uso @importin IE comporta la modifica dell'ordine di download. Ciò potrebbe richiedere più tempo per il download dei fogli di stile, il che ostacola il rendering dei progressi rendendo la pagina più lenta.

Perché Drupal 7 lo usa?

Voglio cambiare le @importregole in <link>tag. Come posso fare questo?


1
+1 per la domanda, volevo solo fare lo stesso, e poi ho trovato il tuo, grazie!
Sk8erPeter

Risposte:


22

Non utilizzare @import per importare file css :

@import viene utilizzato solo in modalità di aggregazione non CSS. Questo viene fatto per ovviare alla limitazione di IE con il numero di tag.

Questo dovrebbe spiegare il motivo e come sbarazzarsene. Qualsiasi sito di produzione dovrebbe utilizzare l'aggregazione CSS e non avere @import.


1
+1, grazie per la risposta. Quindi questa è una soluzione alternativa per ciò che il modulo Ottimizzatore CSS di IE ( drupal.org/project/ie_css_optimizer ) doveva essere usato in Drupal 6 per risolvere il problema che Internet Explorer rifiuta di caricare più di 31 fogli di stile collegati.
Sk8erPeter

So che è qualche anno dopo e la maggior parte delle persone sane non usano IE. purtroppo non lavoro per la maggior parte delle persone sane. Quando si utilizza respond.js in IE 8, non funziona con @imports. questo gotcha può essere difficile da trovare
DeveloperChris

Per quanto mi riguarda, non ho mai scontato la limitazione dei tag IE. Quindi sembra una decisione stupida. Sostituzione del problema che non si verifica quasi mai. Se ci sono molti file CSS, devi pensare a come unire la maggior parte di essi. Per velocizzare il caricamento della pagina.
Rantiev,

-1, Questa risposta non risponde alle due domande nel post originale. Perché Drupal usa @import e come lo cambiamo?
Colin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.