CodeForge

Maquetación Web Dinámica / CSS3 fundamentos: la piel

Selectores: elemento, clase, id, atributo y combinadores

Teoría20 min20 XP

Los selectores son el idioma con el que le hablas al CSS. Dominarlos es la diferencia entre "le puse una clase a cada etiqueta porque no sé apuntar" y código elegante que apunta con precisión quirúrgica. Esta lección es de las más importantes del curso — tómate tu tiempo.

Los cuatro selectores base

selectores-base.css
/* Por elemento: TODOS los párrafos */
p { color: #334155; }

/* Por clase: los elementos con class="destacado" — EL selector del día a día */
.destacado { background: #fef9c3; }

/* Por id: EL elemento con id="cabecera" (los ids son únicos por página) */
#cabecera { padding: 20px; }

/* Por atributo: los inputs de tipo email */
input[type="email"] { border-color: #6d28d9; }

En el HTML, las clases se asignan con class="destacado" — y un elemento puede tener varias separadas por espacio: class="tarjeta destacado".

Los combinadores: seleccionar por parentesco

Aquí los selectores se vuelven un lenguaje. Cuatro símbolos, memorízalos con sus nombres:

combinadores.css
/* ESPACIO — descendiente: los a DENTRO de nav (a cualquier profundidad) */
nav a { color: white; }

/* > — hijo directo: solo los li que son hijos inmediatos de .menu */
.menu > li { display: inline-block; }

/* + — hermano adyacente: el p que viene JUSTO después de un h2 */
h2 + p { font-size: 18px; }

/* ~ — hermanos siguientes: TODOS los p que siguen a un h2 (mismo padre) */
h2 ~ p { color: #475569; }

Míralos en acción:

Detalle fino del ejemplo: el primer párrafo recibe DOS reglas (h2 + p y h2 ~ p) porque es a la vez adyacente y hermano siguiente. Los selectores no compiten por exclusividad — se acumulan. Quién gana cuando declaran la misma propiedad es el tema de la próxima lección.

Agrupar selectores

Una coma aplica la misma regla a varios objetivos:

agrupacion.css
h1, h2, h3 {
font-family: "Space Grotesk", sans-serif;
line-height: 1.2;
}

¿Qué selecciona '.tarjeta > img'?

Mini-reto

En tu periódico: pinta los enlaces del nav principal de un color usando header nav a (sin tocar los del footer), y dale fondo amarillo suave SOLO al primer párrafo después de cada titular h3 con h3 + p. Si el footer quedó intacto, ya piensas en selectores.

Qué sigue

Acabas de ver que varias reglas pueden apuntar al mismo elemento. ¿Quién gana cuando se contradicen? Eso es la especificidad y la cascada — el tema que más frustra a quienes no lo estudian y el que tú vas a dominar en la próxima lección.