Por que o Drupal 7 prefere as regras CSS @import às tags <link>?

25

"Não use @import", muitos caras dizem.

Existem muitas deficiências no uso @import.

  • O uso @importem uma folha de estilo adiciona mais uma viagem de ida e volta ao tempo geral de download da página.
  • O uso @importno IE faz com que a ordem de download seja alterada. Isso pode levar mais tempo para baixar as folhas de estilo, o que dificulta a renderização do progresso, tornando a página mais lenta.

Por que o Drupal 7 o usa?

Quero alterar as @importregras para <link>tags. Como posso fazer isso?

Aproveite a vida
fonte
11
+1 para a pergunta, eu só queria perguntar o mesmo e, em seguida, encontrei o seu, obrigado!
Sk8erPeter

Respostas:

22

Não use @import para importar arquivos css :

@import é usado apenas no modo de agregação não CSS. Isso é feito para solucionar a limitação do IE com o número de tags.

Isso deve explicar o motivo e como se livrar dele. Qualquer site de produção deve usar agregação CSS e não ter @import.

Jeremy French
fonte
11
+1, obrigado pela resposta. Portanto, esta é uma solução alternativa para o que o módulo IE CSS Optimizer ( drupal.org/project/ie_css_optimizer ) teve que ser usado no Drupal 6 para corrigir o problema que o Internet Explorer se recusa a carregar mais de 31 folhas de estilo vinculadas.
Sk8erPeter
Eu sei que isso é alguns anos depois e a maioria das pessoas sãs não usa o IE. infelizmente não trabalho para a maioria das pessoas sãs. Ao usar o respond.js no IE 8, ele não funciona usando @imports. essa pegadinha pode ser difícil de encontrar
DeveloperChris
Quanto a mim, nunca esbarrei na limitação de tags do IE. Então parece uma decisão estúpida. Substituição do problema que quase nunca acontece. Se houver muitos arquivos CSS, você precisará pensar em como mesclar a maior parte deles. Para acelerar o carregamento da página.
Rantiev
-1, esta resposta não responde às duas perguntas na postagem original. Por que o Drupal usa o @import e como o mudamos?
Colin