Estructura HTML
Page Title

Hello World

Elementos comunes
Texto y encabezados

Heading 1

...
Heading 6

Paragraph text

Bold Italic

Enlaces e imágenes
Link text #section">Anchor link Description
Listas
  1. First
Formularios
Tipos de input
Select y Textarea
HTML semántico
<header>Contenido introductorio o contenedor de nav
<nav>Enlaces de navegación
<main>Contenido principal de la página (uno por página)
<section>Agrupación temática de contenido
<article>Contenido autónomo
<aside>Barra lateral o contenido tangencial
<footer>Pie de sección o página
<figure>Imagen/diagrama con leyenda
<figcaption>Leyenda para
Selectores CSS
Selectores básicos
elementp { } — todos los elementos

.class.card { } — selector de clase
#id#main { } — selector de id
*Selector universal (todos los elementos)
Combinadores
A BDescendiente (B dentro de A)
A > BSolo hijo directo
A + BHermano adyacente (B justo después de A)
A ~ BHermano general (B después de A)
Pseudo-clases
:hoverRatón sobre el elemento
:focusEl elemento tiene el foco
:first-childPrimer hijo del padre
:nth-child(n)Hijo n-ésimo (2n = par, odd = impar)
Modelo de caja
.box { margin: 10px; /* exterior */ border: 1px solid #333; /* borde */ padding: 15px; /* interior */ width: 200px; box-sizing: border-box; /* incluye pad+borde */ }
Notación abreviada
margin: 10pxTodos los lados
margin: 10px 20pxSuperior/inferior | izquierda/derecha
margin: 10px 20px 15pxSuperior | izquierda/derecha | inferior
margin: 10px 20px 15px 5pxSuperior | derecha | inferior | izquierda
Flexbox
Contenedor
.flex-container { display: flex; flex-direction: row; /* row | column */ justify-content: center; /* eje principal */ align-items: center; /* eje transversal */ gap: 10px; flex-wrap: wrap; }
Propiedades del elemento
flex: 1Crecer para llenar el espacio disponible
flex-grow: 2Ratio de crecimiento relativo a hermanos
flex-shrink: 0No encoger por debajo de la base
flex-basis: 200pxTamaño inicial antes de crecer/encoger
align-self: flex-endAnular alineación del contenedor
order: -1Orden visual (por defecto 0)
Grid
Contenedor
.grid { display: grid; grid-template-columns: 1fr 2fr 1fr; grid-template-rows: auto; gap: 10px; }
Colocación de elementos
.item { grid-column: 1 / 3; /* abarcar col 1-2 */ grid-row: 1 / 2; } /* abreviatura: repeat, minmax */ grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
Posicionamiento
staticFlujo por defecto (sin propiedades de offset)
relativeDesplazamiento desde la posición normal
absoluteDesplazamiento desde el ancestro posicionado más cercano
fixedDesplazamiento desde el viewport (permanece al hacer scroll)
stickyRelativo hasta el umbral de scroll, luego fijo
Ejemplo
.parent { position: relative; } .child { position: absolute; top: 0; right: 0; /* esquina superior derecha */ }
Media queries
/* Mobile-first: estilos base para pantallas pequeñas */ .container { padding: 10px; } @media (min-width: 768px) { .container { max-width: 720px; } } @media (min-width: 1024px) { .container { max-width: 960px; } }
Breakpoints comunes
480pxTeléfonos pequeños
768pxTablets
1024pxEscritorios pequeños / tablets horizontal
1280pxEscritorios