
Sintaxis, selectores, especificidad, box model y estilos básicos de color y tipografía.
Introducción a CSS
- Qué es CSS: Es el lenguaje que define el aspecto visual del HTML. Permite cambiar colores, tipografías, tamaños, espacios y la disposición de los elementos sin tocar el contenido.
- Separación de responsabilidades: HTML describe la estructura, CSS describe el diseño. Esta separación facilita mantenimiento, reutilización y escalabilidad de un proyecto.
- Formas de incluir CSS: Inline (solo para casos puntuales), interno (para prototipos rápidos) y externo (recomendado para proyectos reales). El externo permite cacheo y orden.
- Sintaxis básica: Un selector apunta a elementos y se le asignan propiedades con valores. Los comentarios ayudan a documentar bloques complejos.
- Cascada y herencia: Cuando varias reglas aplican a un elemento, la cascada decide cuál gana. Algunas propiedades se heredan (color, font-family), otras no (margin, padding).
Selectores y Especificidad
css1/* Selector de elemento */ 2p { color: black; } 3 4/* Clase */ 5.destacado { font-weight: bold; } 6 7/* ID */ 8#header { background-color: navy; } 9 10/* Descendiente e hijo directo */ 11nav a { text-decoration: none; } 12ul > li { list-style: square; } 13 14/* Atributo */ 15a[target="_blank"] { color: orange; } 16 17/* Pseudo-clases y pseudo-elementos */ 18a:hover { color: red; } 19li:nth-child(odd) { background: #f0f0f0; } 20p::first-line { font-variant: small-caps; }
- Tipos de selectores (elemento, clase, ID, atributo, combinadores, pseudo-clases, pseudo-elementos).
- Especificidad: importancia de ID > clase > elemento; uso de
!importantsolo como último recurso. - Cascada y orden de carga de estilos.
Box Model
css1.card { 2 width: 320px; 3 padding: 16px 20px; 4 border: 2px solid #222; 5 border-radius: 10px; 6 margin: 20px auto; 7 box-sizing: border-box; /* width incluye padding y borde */ 8}
- Contenido, padding, borde y margen; cómo afectan al tamaño total.
box-sizing: border-boxpara layouts predecibles.- Colapso de márgenes y cómo evitarlo (padding o
overflow: hiddenen contenedores).
Colores y Tipografía
css1body { 2 color: #333; 3 background: linear-gradient(to right, #667eea, #764ba2); 4 font-family: "Inter", "Helvetica", sans-serif; 5 font-size: 16px; /* px, rem, em, % */ 6 line-height: 1.6; 7 letter-spacing: 0.3px; 8 text-align: left; 9}
- Formatos de color: HEX, RGB/RGBA, HSL/HSLA y gradientes.
- Tipografías seguras vs Google Fonts; pesos (
font-weight) yline-height. - Unidades relativas vs absolutas para texto.
Ejemplos de Código
3 ejemplos
Enlazar hoja de estilos
html
1<!DOCTYPE html>
2<html lang="es">
3 <head>
4 <link rel="stylesheet" href="styles.css" />
5 </head>
6 <body>
7 <p class="destacado">Hola CSS</p>
8 </body>
9</html>Prioridad de selectores
css
1/* ID sobreescribe clase y elemento */
2#cta { background: #111; color: #fff; }
3.button { background: #ff6b6b; }
4button { background: #ccc; }Box model estable
css
1* { box-sizing: border-box; }
2.card {
3 width: 280px;
4 padding: 1rem;
5 margin: 1rem auto;
6 border: 1px solid #ddd;
7 border-radius: 8px;
8}Recursos
3 recursos disponibles
¡Hora de Practicar!
PrácticaPrincipiante15 min
Práctica Guiada - Estilos base
Estilos base
Crear hoja styles.css externa, aplicar estilos de texto, colores y box model a la página de la semana 1.
Desafío de Código
EjercicioPrincipiante15 min
Ejercicios - Selectores y especificidad
Selectores y especificidad
Lista de 5 retos: (1) aplicar estilos a enlaces externos vía atributo, (2) resaltar el primer ítem de una lista, (3) diferenciar botones primarios/secundarios con clases, (4) probar :hover y :focus, (5) ajustar especificidad sin !important.
Documentación Oficial
DocumentaciónPrincipiante15 min
Documentación de apoyo
Referencia completa de selectores y especificidad.