Categorías
CSS y HTML Estructura General Propiedades

Atributos: “@import vs link”

Bueno, después de un tiempo de inactividad (creo que Loretahur está peor que yo, si es que esto de apuntarnos a tantas cosas…) volvemos con un post algo más “técnico” para intentar resolver una de las dudas que salieron al principo de este blog.

Y es que no hace mucho Loretahur escribió un post sobre las diversas formas de añadir los estilos a una página web, a partir del cual, entre los comentarios, volvió a resurgir el famoso debate entre @import y links.

Bueno, siempre que salga una duda de usabilidad o de dualidad entre varias opciones, lo mejor sería recurrir al gran oráculo. Los del w3c (no, google no siempre es el gran oráculo) y escuchándolos resulta que lo recomendable para linkar una página de estilos desde una página web es usar el links siempre frente el @import*.

Los del w3c han hablado, nosotros aceptamos.

Con lo cual, todo resuelto. Post acabado.

Lo que pasa es que, como somos buenos estudiantes, y no tenemos por que creer nunca a nadie a pies juntillas, al menos, hasta que nos de razones de peso, pues, ahora si, haciendo uso de google, buscamos las posibles ventajas/desventajas de ambos para comprender porque usar link frente a @import (la mayoría son meramente subjetivas, pero claro, dentro de la accesibilidad web, que no es subjetivo?).

* Ciertos navegadores no aceptan la sentencia @import: Es, por ejemplo el caso de cualquier versión del IExplorer anterior a 4.0. Aunque muchos diseñadores lo suelen utilizar para discriminar navegadores web antiguos, no es una técnica demasiado buena.
* @import, siempre debe ir al principio del código: Ya sea dentro de las etiquetas

o en una hoja externa, @import siempre debería ir al principio, lo cual fija bastante el código (aunque es cierto que solo debería ir dentro de los heads de la web ).
* En contra de lo que se comentaba en el post anterior, para lograr una mejor web semántica, es mejor el uso de link ya que aporta más información al navegador web que debe recibir la información y tratarla. Aparte de que para incluir @import en la página web, debes añadirla mediante las etiquetas

, añadiendo estilos dentro de la página web, algo no muy recomendable. Lo cual nos lleva al siguiente punto.
* Para incluir @import en una hoja, debes crear una sección

dentro del html. Lo cual hace añadir más código del que posiblemente sea necesario.
* @import está pensado para incluirse dentro de las hojas de estilo, su uso es poder enlazar hojas de estilo dentro de hojas de estilo. Para enlazar cualquier archivos externos dentro de html existe el link.
* Técnicamente, @import “embebe” el código enlazado dentro de la página web, sin embargo, mediante los navegadores tratan el código como externo sin introducirlo en la página. (Esto lo leí hace bastante tiempo, actualmente no se si seguirá siendo igual, o no)

Bueno, después de estas razones, creo que deberíamos aceptar las preferencias de la W3C sobre el uso de links. Aunque sin descartar el uso de @import!

* Y como he averiguado eso?? Donde lo han dicho?? Seguro que por algún lado encontraríais un artículo técnico al respecto, pero yo he sido más vago y si miráis el código de w3.org resulta que no hay ningún @import y si muchos

Categorías
Introducción

La hoja de estilos por defecto de los navegadores

Seguimos con aquello de que, dependiendo del navegador, las hojas de estilo se verán de forma diferente.

Para comprender mejor este “fenómeno” es recomendable la siguiente lectura en el blog de Damián en el que nos explica que cada navegador tiene una hoja de estilos por defecto. Es decir, que si nosotros no definimos ciertas propiedades, esas tomarán el valor que tenga esa hoja. Y claro está, cada navegador tiene valores diferentes (para hacernos la vida un poco “más fácil”…).

Al comenzar un nuevo sitio, y al aplicar los primeros estilos a un documento XHTML, los parámetros que guían la forma en que se muestran las páginas no son los mismos. Es decir, no es cierto que todos los parámetros de una hoja de estilos estén en los mismos valores en todos los navegadores, ni siquiera están todos en 0. Cada navegador tiene unos ciertos valores, que pueden variar de manera especial, dependiendo del navegador y del sistema.

Más en castellano y en inglés en Electriblog.