Vas a conocer cómo utilizar las hojas de estilo CSS con las que poder crear plantillas de estilos que podrás reutilizar posteriormente para aplicarlas a tus páginas web. Aclaremos primero algunos conceptos:

¿Qué es CSS?

Si HTML es el lenguaje con el que se construyen los contenidos de una página, las hojas de estilo CSS son el lenguaje en el que se usa para trabajar el diseño de cualquier web actual.

Imagen que muestra como HTML se usa para estructurar, CSS para diseño visual y Javascript para la interacción.

¿Por qué necesitamos CSS?

Incluso aunque utilices un entorno WYSIWYG para tus creaciones web, saber un poco de HTML y CSS significa que la plantilla que te ofrecen por defecto ya no marca el techo de lo que puedes hacer con tu blog o tu web basada en dicho entorno visual. Incluso con temas gratuitos simples y un poco de habilidad podrás conseguir unos resultados mucho más elaborados y profesionales.

Aprende a continuación un par de conceptos clave en la elaboración de hojas de estilo CSS:

Reglas, selectores y propiedades

Para identificar los componentes de una regla, veamos primero un ejemplo de dos reglas:

h1, h2 {
  color: black;
  font-size: 16px;
}
h2 {
  font-size: 14px;
}

Observa y localiza en cada una de ellas los siguientes componentes:

Imagen de la regla h1{color:green;font-size:18px} en la que el selector es h1 y la propiedad es color y font-size

Reglas simples

Hay cientos de propiedades, de las cuáles trabajaremos unas cuantas más frecuentemente usadas y más útiles en un ejercicio interactivo a continuación. Estas propiedades las hemos utilizado hasta ahora en selectores simples: son los que se refieren a elementos HTML (etiquetas) ya existentes. Tienen el formato:

Partes de una regla CSS: selectores, y pares atributo-valor.

Veamos un ejemplo más:

p a {
  text-decoration: underline;
}
En esta regla se han anidado dos elementos para indicar que esta regla sólo se refiere a enlaces (etiqueta <a> en HTML) dentro de párrafos de texto (etiqueta <p> en HTML) y que a estos enlaces se le aplicará un subrayado. Es decir, esta regla no aplica a elementos que no se encuentren dentro de un párrafo (<p>).

Reglas complejas

Las reglas más complejas son las que diseñan selectores que sólo se aplican si se especifica mediante el atributo class en el documento HTML que conforma la web. Vamos a aprenderlo con un caso concreto:

p.text-izq {
  text-align: left;
}
En esta regla se juega con una etiqueta párrafo (<p>) y un atributo de clase al que se le ha dado el nombre de text-izq. Es decir, esta regla sólo se aplicará a párrafos (texto dentro de etiquetas <p>) que contienen un atributo “class” con el valor “text-izq” como éste:
<p class=”text-izq”>Texto del párrafo</p>

Fíjate que en la reglatext-izqempieza con un punto. Es la manera de especificar en el lenguaje CSS que “text-izq” se refiere a un atributo de clase.

La cascada

Vas a ver ahora qué efectos produce el estilo en cascada, que es lo que se implementa al utilizar CSS: El nombre de hojas de estilo en “cascada” no es casual, expresa que los estilos que especifican con reglas se pueden heredar de una manera jerárquica. Pero sin embargo, la herencia se puede interrumpir mediante sobreescritura, llamada también principio de especificidad.

¿Cómo funciona? Observa el ejemplo:

body {
  font-family: Arial;
}

Aquí se está obligando a que la etiqueta <body>, que es la que envuelve el contenido de cualquier página web, tenga un tipo de letra “Arial”. Gracias a la capacidad de herencia de las reglas, por defecto, cualquier elemento hijo como un título o un párrafo va a heredar ese estilo.

Pero podemos cortar esa tendencia utilizando la sobreescritura de estilo en un elemento que deseemos que tenga otra tipología de letra, como:

p {
  font-family: Verdana;
}
Esta última regla aplica el principio de especificidad. En principio, se plantearía un conflicto entre la regla general de <body> con lo que dice la regla de <p>, pero se resuelve fácilmente puesto que se aplica la regla más específica: referirse a un párrafo es más específico que referirse a “los elementos hijos que existen dentro de <body>”.

Finalmente, como otro ejemplo, considera que una regla con un selector “p a” (enlace dentro de un párrafo) tendría precedencia (sobreescribe) sobre una regla con un selector “a” que se refiere a un enlace a secas.