La palabra cascading (en cascada) describe su principio central: los estilos se aplican en orden de prioridad, y los más específicos o los últimos declarados ganan sobre los anteriores.
¿Cómo funciona CSS?
Su lógica se basa en tres elementos:
- Selector — ¿A qué elemento HTML le aplico el estilo?
- Propiedad — ¿Qué aspecto quiero cambiar?
- Valor — ¿A qué lo cambio?
selector{propiedad:valor;}
Por ejemplo: p { color: blue; } pinta de azul todos los párrafos.
Contenido: El regalo.
Padding: El papel burbuja (espacio interno).
Border: La caja de cartón.
Margin: El espacio entre mi regalo y el de otra persona.
Anatomía de un CSS
1. SELECTOR: ¿A quién le hablo?
Es el "sujeto" de nuestra oración. Define qué elemento de la página recibirá el estilo.
Etiquetas HTML: Directo al elemento (ej. h1, p, img, button).
Clases (.): Para grupos específicos (ej. .boton-inicio, .texto-destacado).
IDs (#): Para un elemento único e irrepetible (ej. #logo-principal).
2. PROPIEDAD: ¿Qué aspecto voy a cambiar?
Es el "atributo" o característica física que queremos modificar. Siempre va dentro de llaves { }.
Texto: color, font-size, font-family, text-align.
Caja (Box Model): background-color, border, padding, margin.
Dimensiones: width, height.
3. VALOR: ¿Cómo quiero que se vea?
Es la "especificación" concreta. Define la intensidad o el tipo de cambio. Siempre termina con punto y coma ;.
Colores: Nombres (red), Hexadecimal (#FF5733) o RGB.
Medidas: Píxeles (20px), Porcentajes (100%), Em/Rem.
Estilos: Sólido (solid), Itálica (italic), Negrita (bold).
| Propiedad | ¿Qué hace? | Ejemplo de Valor |
| color | Cambia el color del texto. | white, #4285F4 |
| background-color | Cambia el color de fondo. | linear-gradient(to right, red, yellow) |
| font-family | Define la tipografía. | 'Roboto', sans-serif |
| font-size | Ajusta el tamaño de la letra. | 16px, 1.5rem |
| text-align | Alinea el texto. | center, justify, right |
| border | Crea un borde alrededor. | 2px solid #000 |
| border-radius | Redondea las esquinas. | 8px, 50% (para círculos) |
| padding | Espacio entre el texto y el borde. | 20px |
| margin | Espacio por fuera del elemento. | 10px auto (centra bloques) |
| box-shadow | Añade una sombra (efecto 3D). | 5px 5px 15px rgba(0,0,0,0.3) |
