Estoy aprendiendo algo de CSS para modificar la plantilla de mi proyecto. Llegué a este problema y no encontré una respuesta clara en la web. ¿Hay alguna diferencia entre usar @import o un enlace en CSS?
Uso de @import
<style>@import url(Path To stylesheet.css)</style>
Uso de enlace
<link rel="stylesheet" href="Path To stylesheet.css">
¿Cuál es la mejor manera de hacerlo? ¿y por qué? ¡Gracias!
Puede utilizar el comando de importación para importar otro CSS dentro de un archivo css que no es posible con el comando de enlace. El navegador realmente antiguo no puede (IE4, IE5 parcialmente) manejar la funcionalidad de importación. Además, algunas bibliotecas que analizan su xhtml / html podrían fallar al obtener la importación de la hoja de estilo. Tenga en cuenta que su importación debe ir antes que todas las demás declaraciones CSS.
fuente
Hoy en día no hay una diferencia real, pero
@import
los navegadores más antiguos (Netscape 4, etc.) no lo manejan correctamente, por lo que el@import
truco se puede usar para ocultar las reglas de CSS 2 de estos navegadores antiguos.Nuevamente, a menos que sea compatible con navegadores realmente antiguos, no hay diferencia.
Sin embargo, si yo fuera usted, usaría la
<link>
variante en sus páginas HTML, porque le permite especificar cosas como el tipo de medio (impresión, pantalla, etc.).fuente
La directiva <link> puede permitir que se carguen e interpreten múltiples CSS de forma asíncrona.
la directiva @import obliga al navegador * a esperar hasta que el script importado se cargue en línea con el script principal antes de que su motor pueda procesarlo correctamente, ya que técnicamente es solo un script.
Una gran cantidad de scripts de minimización de CSS (y lenguajes como less o sass) concatenarán automáticamente los scripts vinculados en el script principal, ya que terminan causando menos sobrecarga de transferencia.
* (depende del navegador)
fuente
Este artículo puede ser de utilidad aquí: 4 métodos para agregar CSS a HTML: vincular, incrustar, en línea e importar
fuente
Cuando uso la regla @import, generalmente es para importar una hoja de estilo dentro de una hoja de estilo existente (aunque no me gusta hacerlo para empezar). Pero para responder a su pregunta, no, no creo que haya ninguna diferencia. Solo asegúrese de poner la URL entre comillas dobles para cumplir con XHTML válido.
fuente
@import generalmente está destinado a usarse en una hoja de estilo externa en lugar de en línea como en su ejemplo. Si realmente desea ocultar una hoja de estilo de navegadores muy antiguos, puede usarla como un truco para evitar que la usen.
En general, la
<link>
etiqueta se procesa más rápidamente que la regla @import (que aparentemente es algo lenta en lo que respecta al motor de procesamiento css).fuente
Microsoft Internet Explorer 9 (MSIE9) no parece manejar @import correctamente. Observe estas entradas de mi registro de Apache (dirección IP oculta pero
whois
dijo que era propiedad de Microsoft): el HTML principal vinculado a screen.css que teníaque ahora estoy a punto de cambiar a
link
elementos en el HTML, porque parece que MSIE9 emite dos solicitudes incorrectas al servidor, obteniendo errores 404 que podría prescindir:No eran las solicitudes apropiadas de estos archivos después, pero podemos prescindir de esta "disparar al primer servidor, de análisis
url
después de" la lógica.fuente