Qué es una hoja de estilo

Qué es una hoja de estilo

En las primeras versiones del HTML, el código fuente de una página web contenía tanto la información (el contenido) como la forma de representarse (el diseño o formato). Actualmente, estos dos aspectos se pueden separar. La página web (el documento html) sólo debe contener información, mientras que el formato se debe definir en las llamadas hojas de estilo (en inglés, CSS, Cascading Style Sheets, es decir, Hojas de Estilo en Cascada).


El funcionamiento de las hojas de estilo es el siguiente:

página web (ejemplo.html) ... <link rel="stylesheet" type="text/css" href="estilo.css" /> enlace a la hoja de estilo ... <p>Esto es un párrafo.</p> etiqueta html ... hoja de estilo (estilo.css) color: red; } p   { etiqueta html + resultado en el navegador Esto es un párrafo.

Las ventajas de utilizar hojas de estilo son muchas, sobre todo permiten hacer un diseño consistente y fácil de modificar. Si varias páginas web hacen referencia a la misma hoja de estilo, para cambiar la apariencia de todas las páginas es suficiente con hacer los cambios en un único lugar, en la hoja de estilo.

Sintaxis de las hojas de estilo

Una hoja de estilo es un fichero de texto plano (sin formato) en el que se define el aspecto de las etiquetas de una página web:

@charset "utf-8"; h1 { color: white; background-color: black; } p { color: red; background-color: lightyellow; }

Una hoja de estilo está formada por una o varias sentencias:

@charset "utf-8"; h1 { color: white; background-color: black; } p { color: red; background-color: lightyellow; } sentencias

Existen dos tipos de sentencias: las reglas-arroba y las reglas:

@charset "utf-8"; h1 { color: white; background-color: black; } p { color: red; background-color: lightyellow; } regla-arroba reglas

Las reglas-arroba empiezan por el símbolo de arroba (@) pegado a un identificador y terminan por un punto y coma (;):

@charset "utf-8"; regla-arroba identificador punto y coma

Algunas reglas-arroba (@charset, @import o @namespace) deben aparecer al principio de la hoja de estilo, pero el resto (@font-face, @media, etc.) pueden escribirse en cualquier lugar de la hoja de estilo.

Las reglas están formadas por un selector y un bloque de declaración. El bloque de declaración empieza y acaba con llaves { }.

h1   { color: white; background-color: black; } p   { color: red; background-color: lightyellow; } selectores llaves declaraciones

Cada declaración está formada por una o varias propiedades y sus valores correspondientes. Las propiedades van separadas entre sí por puntos y comas. El valor (o valores) van separados de las propiedades por dos puntos. En general, si una propiedad necesita varios valores, los valores van separados por espacios en blanco. En general, si una propiedad admite varios valores alternativos, los valores van separados por comas.

h1   { color :   white ; background-color :   black ; } propiedad dos puntos espacio en blanco valor punto y coma

Definir varias selectores simultáneamente

Se pueden definir varios selectores simultáneamente escribiendo los selectores separados por comas, como muestran los siguientes ejemplos:

p, address {
  color: red
}

Esto es un párrafo.

Esto es una dirección <address>.

Lo que no es correcto es definir varias propiedades simultáneamente, como muestran los siguientes ejemplos:

Incorrecto
p {
  border-top, border-bottom: red 3px solid;
}

Esto es un párrafo.

Correcto
p {
  border-top: red 3px solid;
  border-bottom: red 3px solid;
}

Esto es un párrafo.

Comentarios en las hojas de estilo

Una hoja de estilo puede contener comentarios. Los delimitadores del comentario son /* ... */ (como en el lenguaje de programación C). Los comentarios pueden extenderse varias líneas, como ilustra el siguiente ejemplo:

/* Autor: Bartolome Sintes Marco
   Fecha: 3 de octubre de 2014
*/
h1 {
  color : white ;                 /* texto blanco */
  background-color : black ;      /* sobre fondo negro */
}