Selectores CSS
Una regla CSS tiene dos tareas: decidir a quién estilizar y cómo hacerlo. El «cómo» ya lo has practicado con propiedades, valores y unidades. Esta sesión se centra en el «a quién»: el selector que va al principio de la regla.
¿Qué son los selectores CSS?
Un selector es un patrón que le dice al navegador a qué elementos HTML debe aplicar el bloque de declaraciones. Si el selector coincide con un elemento de la página, ese elemento recibe todos los estilos que hay dentro de { }.
Tipos básicos de selector de un vistazo
Empieza con estos cuatro. En sesiones posteriores verás combinadores, atributos y pseudoclases; antes, domina el selector de elemento, class, id y *.
📊 Selectores CSS básicos
| Selector | A qué elementos afecta | Ejemplo |
|---|---|---|
| Elemento (tipo) | Todos los elementos con ese nombre de etiqueta | p { … } |
| class | Los elementos que tienen ese atributo class | .card { … } |
| id | El único elemento con ese id | #hero { … } |
| Universal | Todos los elementos (úsalo con moderación) | * { … } |
Selectores de elemento (tipo)
Un selector de elemento es simplemente el nombre de la etiqueta, sin punto ni almohadilla. h1 estiliza cada <h1> de la página y p, cada párrafo. Es la herramienta más general del día a día cuando quieres una base uniforme para una etiqueta.
Selectores de elemento para títulos y párrafos
cssh1 {
color: #0f766e;
font-size: 2rem;
}
p {
color: #334155;
line-height: 1.6;
}
Cuándo resultan útiles los selectores de tipo
Úsalos para valores por defecto de todo el sitio: el color del texto en body, el grosor de los títulos, el espaciado de las listas. Si solo algunos párrafos deben verse distintos, mejor usa una class en lugar de cambiar todos los p.
Selectores de class
Un selector de class empieza con un punto (.) seguido del nombre de la class. En HTML marcas los elementos con class="card". Una misma class puede aparecer en muchos elementos, y por eso las classes son la herramienta principal del diseño reutilizable.
Selector de class para tarjetas reutilizables
css.card {
background: #f8fafc;
border: 1px solid #cbd5e1;
padding: 1rem;
border-radius: 8px;
}
El HTML debe coincidir con el nombre de la class
El CSS .card solo estiliza los elementos que realmente tienen class="card" (o varias classes entre las que esté card). La ortografía debe coincidir exactamente: .Card y .card son selectores distintos.
Selectores de id
Un selector de id empieza con una almohadilla (#) seguida del nombre del id. En HTML escribes id="hero". Un id debe ser único en la página: un solo elemento. Para casi todos los estilos es mejor usar classes; reserva el id para un punto de referencia realmente único.
Selector de id para un banner único
css#hero {
min-height: 40vh;
background: #0f172a;
color: #f8fafc;
padding: 2rem;
}
El selector universal (*)
El selector universal * coincide con todos los elementos. A veces se usa para un reinicio sencillo (por ejemplo, definir box-sizing), pero aplicar colores o márgenes a todo puede arruinar tu maquetación. Para el aspecto cotidiano de la página, elige selectores más precisos.
Selector universal usado con cuidado
css* {
box-sizing: border-box;
}
Combinar selectores en una página
Las hojas de estilo reales mezclan los tipos: valores base con selectores de elemento, piezas reutilizables con classes y objetivos únicos y poco frecuentes con ids. Esta hoja pequeña muestra el hábito: no todas las reglas necesitan un id.
Pequeña mezcla de tipos de selector en una página
cssbody {
font-family: Georgia, serif;
margin: 0;
}
.card {
max-width: 28rem;
margin: 1rem;
}
#hero {
padding: 2rem;
}
class o id: un hábito práctico
- Prefiere classes para botones, tarjetas, enlaces de navegación y cualquier cosa que puedas reutilizar
- Usa un id solo cuando el objetivo sea realmente único (un banner de la página, el cuadro de búsqueda principal)
- No inventes un id nuevo para cada caja con estilo: impide la reutilización y te dará problemas en las lecciones sobre la cascada
Pruébalo tú mismo
- Añade a una página de práctica un
<h1>, dos<p>, un<div class="card">y una<section id="hero">. - Escribe una regla de elemento para
h1yp. - Da estilo a
.cardcon relleno (padding), fondo claro y borde. - Da estilo a
#herocon fondo oscuro y texto claro. - Opcional: añade
* { box-sizing: border-box; }y comprueba que el relleno dentro de la tarjeta se comporta de forma más predecible.
Errores comunes
- Escribir
card { }cuando querías.card { }: sin el punto, el navegador busca un elemento llamado card, que no existe en HTML - Escribir
hero { }en lugar de#hero { }: falta la almohadilla - Poner
class="card"en el HTML pero escribir.crden el CSS: no hay coincidencia, así que no hay estilos - Dar el mismo
ida muchos elementos: HTML inválido y selección impredecible - Usar solo selectores de tipo para un diseño puntual: cambian todos los
podivcuando solo querías un bloque
Resumen
- Los selectores eligen qué elementos HTML reciben los estilos de la regla
- Los selectores de elemento usan el nombre de la etiqueta (
h1,p) - Los selectores de class empiezan con un punto (
.card) y coinciden con el atributoclassdel HTML - Los selectores de id empiezan con una almohadilla (
#hero) y deben apuntar a un único elemento *coincide con todo: útil para reinicios cuidadosos, no para decorarlo todo- Prefiere classes para interfaces reutilizables y usa los ids pocas veces y solo para elementos únicos
🧠 Pon a Prueba tu Conocimiento
Pon a Prueba tu Conocimiento
Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema
📝 Instrucciones
- Lee cada pregunta cuidadosamente
- Selecciona la mejor respuesta para cada pregunta
- Puedes repetir el quiz tantas veces como quieras
- Tu progreso se mostrará en la parte superior