¿Por qué Drupal 7 prefiere las reglas CSS @import a las etiquetas <link>?

25

"No lo uses @import", dicen muchos chicos.

Hay muchas deficiencias en el uso @import.

  • El uso @importdentro de una hoja de estilo agrega una vuelta más al tiempo total de descarga de la página.
  • El uso @importen IE hace que se altere el orden de descarga. Esto puede hacer que las hojas de estilo tarden más en descargarse, lo que dificulta el procesamiento y hace que la página se sienta más lenta.

¿Por qué lo usa Drupal 7?

Quiero cambiar las @importreglas a <link>etiquetas. ¿Cómo puedo hacer esto?

disfruta la vida
fuente
1
+1 para la pregunta, solo quería preguntar lo mismo, y luego encontré la tuya, ¡gracias!
Sk8erPeter

Respuestas:

22

No use @import para importar archivos css :

@import se usa solo en modo de agregación que no sea CSS. Esto se hace para solucionar la limitación de IE con el número de etiquetas.

Esto debería explicar la razón y cómo deshacerse de él. Cualquier sitio de producción debe usar agregación CSS y no tener @import.

Jeremy French
fuente
1
+1, gracias por la respuesta. Entonces, esta es una solución para lo que el módulo IE CSS Optimizer ( drupal.org/project/ie_css_optimizer ) tuvo que usarse en Drupal 6 para solucionar el problema de que Internet Explorer se niega a cargar más de 31 hojas de estilo vinculadas.
Sk8erPeter
Sé que esto es unos años más tarde y la mayoría de las personas sanas no usan IE. desafortunadamente no trabajo para la mayoría de las personas sanas. Cuando se utiliza respond.js en IE 8, no funciona con @imports. este problema puede ser difícil de encontrar
DeveloperChris
En cuanto a mí, nunca me he topado con la limitación de etiquetas IE. Entonces parece una decisión estúpida. Anulación del problema que casi nunca sucede. Si hay muchos archivos CSS, debe pensar cómo fusionar la mayor parte de ellos. Para acelerar la carga de la página.
Rantiev
-1, esta respuesta no responde las dos preguntas en la publicación original. ¿Por qué Drupal usa @import y cómo lo cambiamos?
Colin