Diseño adaptable

Tu portfolio se verá en un móvil en el autobús, en el portátil de un estudio y en la pantalla enorme de una agencia.

viewport + maquetación flexible + media queries.

Mobile first: estilos base para móvil y @media (min-width: …) para ampliar.

Imágenes con max-width: 100%, srcset y optimizadas.

Texto en rem, líneas de ~65 caracteres, titulares con clamp().

  • Tu portfolio se verá en un móvil en el autobús, en el portátil de un estudio y en la pantalla enorme de una agencia. No diseñas una página: diseñas un sistema que se adapta. Eso es el diseño adaptable (responsive design).
  • La etiqueta viewport en el <head> (seguro que ya la tienes): ``html <meta name="viewport" content="width=device-width, initial-scale=1.0"> `` Sin ella, el móvil muestra la página de escritorio en miniatura. Maquetación flexible: fr, %, rem, max-width, Flexbox con flex-wrap, Grid con auto-fit. Nada de anchos fijos grandes en píxeles. Media queries: reglas CSS que solo se aplican a partir de cierto tamaño.
  • /* Estilos base: móvil (una columna) */ .trabajos { display: grid; grid-template-columns: 1fr; gap: 1rem; } /* A partir de 700 px de ancho: dos columnas */ @media (min-width: 700px) { .trabajos { grid-template-columns: repeat(2, 1fr); } } /* A partir de 1100 px: tres columnas */ @media (min-width: 1100px) { .trabajos { grid-template-columns: repeat(3, 1fr); } }
  • Los valores de cambio (700 px, 1100 px) se llaman puntos de ruptura. No los elijas por modelos de móvil: ponlos donde tu diseño se rompe. Estrecha la ventana poco a poco y, cuando algo se vea mal, ahí va un punto de ruptura.
  • Escribe primero los estilos para la pantalla pequeña y añade complejidad con min-width. Ventajas:

Introducción

Tu portfolio se verá en un móvil en el autobús, en el portátil de un estudio y en la pantalla enorme de una agencia. No diseñas una página: diseñas un sistema que se adapta. Eso es el diseño adaptable (responsive design).

Tres ingredientes

La etiqueta viewport en el <head> (seguro que ya la tienes): ``html <meta name="viewport" content="width=device-width, initial-scale=1.0"> `` Sin ella, el móvil muestra la página de escritorio en miniatura. Maquetación flexible: fr, %, rem, max-width, Flexbox con flex-wrap, Grid con auto-fit. Nada de anchos fijos grandes en píxeles. Media queries: reglas CSS que solo se aplican a partir de cierto tamaño.

Media queries

/* Estilos base: móvil (una columna) */ .trabajos { display: grid; grid-template-columns: 1fr; gap: 1rem; } /* A partir de 700 px de ancho: dos columnas */ @media (min-width: 700px) { .trabajos { grid-template-columns: repeat(2, 1fr); } } /* A partir de 1100 px: tres columnas */ @media (min-width: 1100px) { .trabajos { grid-template-columns: repeat(3, 1fr); } }

Los valores de cambio (700 px, 1100 px) se llaman puntos de ruptura. No los elijas por modelos de móvil: ponlos donde tu diseño se rompe. Estrecha la ventana poco a poco y, cuando algo se vea mal, ahí va un punto de ruptura.

Primero el móvil (mobile first)

Escribe primero los estilos para la pantalla pequeña y añade complejidad con min-width. Ventajas:

El móvil, que es el caso más restrictivo, queda resuelto desde el principio. El CSS base es más sencillo; las media queries solo añaden. Te obliga a decidir qué es lo importante (lo que va primero en una columna).

Imágenes adaptables

img { max-width: 100%; /* nunca más ancha que su contenedor */ height: auto; /* mantiene la proporción */ display: block; }

Y en HTML, para no hacer descargar una imagen de 4000 px a un móvil:

<img src="img/cartel-800.jpg" srcset="img/cartel-400.jpg 400w, img/cartel-800.jpg 800w, img/cartel-1600.jpg 1600w" sizes="(min-width: 700px) 50vw, 100vw" alt="Cartel del Festival de Otoño" width="800" height="1131">

srcset: las versiones disponibles y su ancho real (w). sizes: cuánto ocupará la imagen en pantalla. El navegador elige la versión adecuada.

Tipografía que respira

Tamaños en rem, nunca en píxeles fijos para el texto. Medida de línea (line length) cómoda: max-width: 65ch en los bloques de texto. Titulares que escalan con la pantalla: font-size: clamp(2rem, 5vw, 4rem); (mínimo, preferido, máximo).

Comprobar

Modo dispositivo de las DevTools (icono del móvil): prueba varios anchos, no solo modelos concretos. Tu propio móvil: nada sustituye a tocar la página con el dedo. Amplía el texto del navegador al 200 %: la página debe seguir siendo usable (requisito de accesibilidad).

Errores frecuentes

Olvidar la etiqueta viewport. Anchos fijos (width: 1200px) que obligan a desplazarse en horizontal. Puntos de ruptura copiados de un móvil concreto en lugar de donde se rompe el diseño. Imágenes enormes en todas las pantallas.

CSS
84

Diseño adaptable

Tu portfolio se verá en un móvil en el autobús, en el portátil de un estudio y en la pantalla enorme de una agencia.

Código del tema: @media (min-width: 48rem)

📘 Teoría

Introducción

Tu portfolio se verá en un móvil en el autobús, en el portátil de un estudio y en la pantalla enorme de una agencia. No diseñas una página: diseñas un sistema que se adapta. Eso es el diseño adaptable (responsive design).

Tres ingredientes

  1. La etiqueta viewport en el <head> (seguro que ya la tienes): ``html <meta name="viewport" content="width=device-width, initial-scale=1.0"> `` Sin ella, el móvil muestra la página de escritorio en miniatura.
  2. Maquetación flexible: fr, %, rem, max-width, Flexbox con flex-wrap, Grid con auto-fit. Nada de anchos fijos grandes en píxeles.
  3. Media queries: reglas CSS que solo se aplican a partir de cierto tamaño.

Media queries

/* Estilos base: móvil (una columna) */
.trabajos {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

/* A partir de 700 px de ancho: dos columnas */
@media (min-width: 700px) {
  .trabajos {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* A partir de 1100 px: tres columnas */
@media (min-width: 1100px) {
  .trabajos {
    grid-template-columns: repeat(3, 1fr);
  }
}

Los valores de cambio (700 px, 1100 px) se llaman puntos de ruptura. No los elijas por modelos de móvil: ponlos donde tu diseño se rompe. Estrecha la ventana poco a poco y, cuando algo se vea mal, ahí va un punto de ruptura.

Primero el móvil (mobile first)

Escribe primero los estilos para la pantalla pequeña y añade complejidad con min-width. Ventajas:

  • El móvil, que es el caso más restrictivo, queda resuelto desde el principio.
  • El CSS base es más sencillo; las media queries solo añaden.
  • Te obliga a decidir qué es lo importante (lo que va primero en una columna).

Imágenes adaptables

img {
  max-width: 100%;    /* nunca más ancha que su contenedor */
  height: auto;       /* mantiene la proporción */
  display: block;
}

Y en HTML, para no hacer descargar una imagen de 4000 px a un móvil:

<img src="img/cartel-800.jpg"
     srcset="img/cartel-400.jpg 400w, img/cartel-800.jpg 800w, img/cartel-1600.jpg 1600w"
     sizes="(min-width: 700px) 50vw, 100vw"
     alt="Cartel del Festival de Otoño" width="800" height="1131">
  • srcset: las versiones disponibles y su ancho real (w).
  • sizes: cuánto ocupará la imagen en pantalla. El navegador elige la versión adecuada.

💡 Consejo. Optimiza siempre las imágenes antes de subirlas: exporta al tamaño necesario, usa JPG o WebP para fotografías, PNG o SVG para gráficos planos, y comprime. Una web que pesa menos carga antes, gasta menos datos del usuario y consume menos energía.

Tipografía que respira

  • Tamaños en rem, nunca en píxeles fijos para el texto.
  • Medida de línea (line length) cómoda: max-width: 65ch en los bloques de texto.
  • Titulares que escalan con la pantalla: font-size: clamp(2rem, 5vw, 4rem); (mínimo, preferido, máximo).

Comprobar

  • Modo dispositivo de las DevTools (icono del móvil): prueba varios anchos, no solo modelos concretos.
  • Tu propio móvil: nada sustituye a tocar la página con el dedo.
  • Amplía el texto del navegador al 200 %: la página debe seguir siendo usable (requisito de accesibilidad).

Errores frecuentes

  • Olvidar la etiqueta viewport.
  • Anchos fijos (width: 1200px) que obligan a desplazarse en horizontal.
  • Puntos de ruptura copiados de un móvil concreto en lugar de donde se rompe el diseño.
  • Imágenes enormes en todas las pantallas.

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros. culTest

La hice en febrero de 2026 para facilitar el aprendizaje de mis alumnos. La idea es aprender desarrollo web practicando y que el proyecto siga creciendo con nuevos temas, tests y retos.

Está inspirada en MDN, W3Schools, CodePen, Manz y muchos otros sitios de documentación sobre desarrollo web. Quería combinar teoría útil, ejemplos ejecutables, retos y el sistema de tests que ya tenía en culTest. culTest

Si te gustó, si no te gustó o si quieres escribirme, puedes hacerlo en cristianeslava@gmail.com