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
Estructura

Sintaxis

Las hojas de estilo están basadas en reglas. Como ya comentabamos antes, estas reglas se van evaluando de forma secuencial, de arriba hacia abajo.

Las reglas están formadas por un selector seguido de un bloque de declaraciones:

Selector {
propiedad : valor;
propiedad : valor;

}

Ejemplo:

body {
color: #999999;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
}

Como vemos, cada declaración consta de una propiedad separada de su valor por el carácter «:«. A su vez, se pueden definir varias declaraciones para el mismo selector separadas por el carácter «;«, formando un bloque de declaraciones.

También tenemos la opción de aplicar un mismo bloque de declaraciones a varios selectores:

h1, h2 {color: green }

En el próximo post analizaremos más a fondo cómo pueden ser esos selectores, propiedades y valores.