Pourquoi Drupal 7 préfère-t-il les règles CSS @import aux balises <link>?

25

"Ne pas utiliser @import", disent beaucoup de gars.

Il y a beaucoup de défauts d'utilisation @import.

  • L'utilisation @importdans une feuille de style ajoute un aller-retour supplémentaire au temps de téléchargement global de la page.
  • L'utilisation @importdans IE entraîne la modification de l'ordre de téléchargement. Cela peut entraîner un téléchargement plus long des feuilles de style, ce qui entrave le rendu du rendu, ce qui ralentit la page.

Pourquoi Drupal 7 l'utilise-t-il?

Je veux changer les @importrègles en <link>balises. Comment puis-je faire ceci?

profite de la vie
la source
1
+1 pour la question, je voulais juste poser la même chose, puis j'ai trouvé la vôtre, merci!
Sk8erPeter

Réponses:

22

N'utilisez pas @import pour importer des fichiers CSS :

@import est utilisé uniquement en mode d'agrégation non CSS. Ceci est fait pour contourner la limitation IE avec le nombre de balises.

Cela devrait expliquer la raison et comment s'en débarrasser. Tout site de production doit utiliser l'agrégation CSS et ne pas avoir @import.

Jeremy French
la source
1
+1, merci pour la réponse. Il s'agit donc d'une solution de contournement pour ce que le module IE CSS Optimizer ( drupal.org/project/ie_css_optimizer ) devait être utilisé dans Drupal 6 pour résoudre le problème selon lequel Internet Explorer refuse de charger plus de 31 feuilles de style liées.
Sk8erPeter
Je sais que c'est quelques années plus tard et la plupart des gens sensés n'utilisent pas IE. malheureusement je ne travaille pas pour la plupart des gens sensés. Lors de l'utilisation de respond.js dans IE 8, il ne fonctionne pas avec @imports. ce piège peut être difficile à trouver
DeveloperChris
Quant à moi, je n'ai jamais rencontré de limitation de balises IE. Cela semble donc une décision stupide. Ignorer le problème qui ne se produit presque jamais. S'il y a beaucoup de fichiers CSS, vous devez penser à fusionner la plupart d'entre eux. Afin d'accélérer le chargement des pages.
Rantiev
-1, Cette réponse ne répond pas aux deux questions de l'article d'origine. Pourquoi Drupal utilise @import et comment le change-t-on?
Colin