0Pricing
Frontend Academy · Lección

Selectores y cascada

Seleccione elementos con selectores de tipo, clase, ID y atributo. Comprenda la especificidad, la herencia y la cascada para prever qué estilos prevalecen.

Selectores y cascada es una lección gratuita de Frontend Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Frontend Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Frontend Academy incluye 4 lecciones en total.

¿Qué es CSS?

CSS (Cascading Style Sheets) es el lenguaje que controla la presentación visual. Se escriben reglas; cada regla tiene un selector que apunta a elementos y un bloque de declaraciones con pares de propiedad y valor.

selector {
  property: value;
  another-property: value;
}

Selectores de tipo, clase e ID

Los tres selectores fundamentales son: tipo, que apunta a todos los elementos de una etiqueta (p); clase, que apunta a los elementos con una clase (.card); e ID, que apunta a un elemento mediante su id (#logo). Prefiera las clases: los ID tienen una especificidad muy alta.

p { color: #333; }        /* type */
.card { padding: 16px; }   /* class */
#logo { width: 200px; }    /* ID */

Selectores de atributo y pseudoclase

Seleccione por valor de atributo con [type="email"]. Use pseudoclases para los estados: :hover, :focus, :active, :checked, :nth-child(), :first-child y :last-child.

input[type="email"] { border-color: blue; }
a:hover { text-decoration: underline; }
li:nth-child(odd) { background: #f5f5f5; }

Combinadores

Los combinadores describen las relaciones entre elementos: espacio (descendiente), > (hijo directo), + (hermano adyacente), ~ (hermano general).

nav a { color: white; }        /* descendant */
nav > ul { list-style: none; }  /* child */
h2 + p { margin-top: 0; }       /* adjacent sibling */

Especificidad: ¿cuál gana?

Cuando varias reglas apuntan al mismo elemento, la especificidad determina cuál prevalece. Los selectores de ID (0,1,0,0) prevalecen sobre los selectores de clase (0,0,1,0), que prevalecen sobre los selectores de tipo (0,0,0,1). Los estilos en línea prevalecen sobre todos. !important prevalece sobre todo; úselo como último recurso.

Calcular la especificidad

Cuente por separado los ID, las clases/atributos/pseudoclases y los tipos. Compare columna por columna. Ejemplo: #nav .link:hover = (0,1,1,1). .nav a = (0,0,1,1). El primero prevalece.

/* Specificity: 0,0,1,1 — loses */
.nav a { color: red; }

/* Specificity: 0,1,1,1 — wins */
#nav .link:hover { color: blue; }

La cascada: el orden importa

Cuando la especificidad es igual, prevalece la regla que aparece después en la hoja de estilos. Esta es la C de CSS: la cascada. Tanto el orden de importación como el orden de origen son importantes.

Herencia

Algunas propiedades de CSS se heredan de forma predeterminada: los elementos secundarios reciben el valor del elemento principal sin que tenga que establecerlo. Las propiedades relacionadas con el texto, como color, font-family y line-height, se heredan. Las propiedades del modelo de caja, como margin, no se heredan.

body {
  font-family: 'Inter', sans-serif; /* all text inherits this */
  color: #1a202c;                   /* all text inherits this */
}

Los selectores :is() y :where()

:is() y :where() permiten escribir selectores concisos que coinciden con cualquiera de una lista. La diferencia es que :is() hereda la especificidad más alta de sus argumentos, mientras que :where() siempre tiene especificidad cero.

/* Instead of h1 a, h2 a, h3 a: */
:is(h1, h2, h3) a {
  color: inherit;
}

El selector universal *

El selector universal * coincide con todos los elementos. Se utiliza habitualmente en los reseteos de CSS: *, *::before, *::after { box-sizing: border-box; }, lo que hace que el modelo de caja sea mucho más predecible.

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

Estilos predeterminados del navegador

Los navegadores aplican su propia hoja de estilos predeterminada (la hoja de estilos del agente de usuario) antes que la suya. Los reseteos de CSS (como normalize.css) o las capas de CSS neutralizan estos valores predeterminados para que su estilo parta de una base conocida.

Comprobación rápida

¿Qué selector tiene la especificidad más alta?

Resumen: selectores y la cascada

Apunte a los elementos con selectores de tipo, clase, ID, atributo y pseudoclase. La especificidad resuelve los conflictos (ID > clases > tipos). La cascada deshace los empates mediante el orden de origen. La herencia propaga automáticamente los estilos de texto a los elementos descendientes.

Preguntas frecuentes

¿La lección «Selectores y cascada» es gratis?

Sí — el texto completo de «Selectores y cascada» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Frontend Academy, actualiza a CoddyKit PRO. El curso de Frontend Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Selectores y cascada»?

Seleccione elementos con selectores de tipo, clase, ID y atributo. Comprenda la especificidad, la herencia y la cascada para prever qué estilos prevalecen. Practicas Frontend Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Frontend Academy?

No se requiere experiencia previa. Frontend Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Selectores y cascada»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Frontend Academy?

Sí. Cada lección de Frontend Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Selectores y cascada
  2. Colores, tipografía y modelo de cajas
  3. Conceptos básicos de display: block, inline, flex y grid
  4. Posicionamiento: relative, absolute, fixed y sticky
← Volver a Frontend Academy