¿Qué es CSS?

Cascading Style Sheets: hojas de estilo que le dicen al navegador cómo se ve cada elemento del HTML.

Es la otra mitad de la idea que abre el tópico de HTML. El HTML dice qué es cada cosa; el CSS dice cómo se ve.

Solo HTMLHTML + CSS
Qué se veEl contenido en crudo, con los estilos por defecto del navegadorEl mismo contenido con color, tipografía y espacios elegidos
FuncionaSí: se lee y se navega igualSí
Se puede cambiar el aspectoNoSí, sin tocar una línea de contenido

Cómo se enlaza el CSS

Hay tres formas de meter estilos en una página. Solo una es la buena.

Externo (la recomendada)

Un archivo .css aparte, enlazado desde el <head> de cada vista:

<head>
  <link rel="stylesheet" href="estilos.css" />
</head>
/* estilos.css */
p {
  color: #333;
}

Interno

Una etiqueta <style> dentro del <head>, con los estilos escritos ahí mismo:

<head>
  <style>
    p {
      color: #333;
    }
  </style>
</head>

Sirve para una página suelta, pero esos estilos no valen para las demás vistas.

En línea

El atributo style sobre la propia etiqueta:

<p style="color: #333">Hola</p>

Nunca uses estilos en línea

Mezclan estructura y presentación, que es justo lo que HTML y CSS existen para separar. Además hay que repetirlos en cada etiqueta, y ganan por encima de todo lo demás, así que cuando quieras cambiar algo desde la hoja de estilos no te va a hacer caso y no vas a entender por qué.

Un solo estilos.css para todo el sitio

Se escribe una vez y sirve para las tres vistas. Cambias un color en un lugar y cambia en todo el sitio. Y el HTML queda limpio, con puro contenido.

El href del <link> es una ruta, como las del HTML

Si el CSS está al lado del HTML, href="estilos.css". Si lo guardas en una carpeta, href="css/estilos.css". Valen las mismas reglas de rutas, y el mismo error: una mayúscula de más y la página se ve sin estilos.

Anatomía de una regla

h1 {
  color: blue;
}
ParteCómo se llamaQué hace
h1SelectorA qué elementos apunta
colorPropiedadQué se cambia
blueValorA qué valor
color: blue;DeclaraciónLa propiedad y su valor, juntos

Dentro de las llaves va una declaración por línea, y cada una termina en punto y coma.

.tarjeta {
  color: #1b1a19;
  background-color: #e2f3f9;
  font-size: 24px;
}

Olvidar el punto y coma

Es el error más común de CSS, y es traicionero: la declaración a la que le falta y la siguiente dejan de aplicarse, pero el resto de la regla sigue funcionando. Ves que un estilo no se aplica y el problema está una línea más arriba.

Los comentarios en CSS van entre /* y */

/* Estilos de la navbar */
nav {
  background: #1b1a19;
}

No existe el // de otros lenguajes: en CSS no funciona.

El orden de las declaraciones no importa

Dentro de una misma regla da igual escribir primero color o primero font-size. Lo que sí importa es el orden entre reglas distintas, y eso se ve en la página siguiente.

Checkpoint

Intenta responder antes de desplegar cada pregunta.