← Diseño web desde cero

Haz que tu web se adapte al móvil.

Una página web debe funcionar correctamente en pantallas grandes y pequeñas. En esta lección aprenderás los fundamentos del diseño responsive y adaptarás la web que ya has construido.

Nivel · Principiante Tiempo · 30–40 min Ruta · Diseño web

01

¿Qué significa responsive?

Una web responsive es una página capaz de adaptar su diseño al tamaño de la pantalla donde se está visualizando.

El mismo contenido puede mostrarse de forma diferente en ordenador, tablet y móvil.

El objetivo no es crear tres webs distintas, sino una sola web flexible que responda correctamente a diferentes tamaños.

02

La etiqueta viewport.

En tus documentos HTML ya hemos utilizado esta línea:

<meta name="viewport" content="width=device-width, initial-scale=1.0">

Esta etiqueta indica al navegador que el ancho de la página debe adaptarse al ancho real del dispositivo.

01

width=device-width utiliza el ancho del dispositivo.

02

initial-scale=1.0 establece el nivel inicial de zoom.

03

Evita anchuras rígidas.

Imagina que escribes:

section {
  width: 1200px;
}

En una pantalla de móvil esa sección podría ser mucho más ancha que la pantalla.

Una opción más flexible sería:

section {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

La sección podrá reducirse cuando la pantalla sea pequeña, pero no superará los 1200 píxeles en pantallas grandes.

04

Las imágenes también deben ser flexibles.

Una imagen muy grande puede desbordarse fuera de la pantalla.

Una regla muy útil es:

img {
  max-width: 100%;
  height: auto;
}

Así la imagen nunca será más ancha que su contenedor y mantendrá sus proporciones.

05

Qué son las media queries.

Las media queries permiten aplicar reglas CSS solamente cuando se cumplen determinadas condiciones.

Por ejemplo:

@media (max-width: 768px) {

  h1 {
    font-size: 40px;
  }

}

Esto significa:

Cuando la pantalla tenga un ancho de 768 píxeles o menos, el h1 tendrá un tamaño de 40 píxeles.

06

Adapta tu título principal.

En la lección anterior utilizamos un título grande:

h1 {
  font-size: 64px;
}

Ese tamaño puede resultar excesivo en móvil.

Podemos añadir:

@media (max-width: 768px) {

  h1 {
    font-size: 42px;
  }

}

07

Reduce los espacios en móvil.

En ordenador podemos utilizar bastante espacio entre secciones, pero en una pantalla pequeña puede ser demasiado.

Si teníamos:

section {
  padding: 90px 30px;
}

podemos adaptar:

@media (max-width: 768px) {

  section {
    padding: 60px 20px;
  }

}

08

Convierte columnas en una sola columna.

Imagina una sección de servicios con tres columnas:

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

En móvil podemos cambiarla a una sola:

@media (max-width: 768px) {

  .services-grid {
    grid-template-columns: 1fr;
  }

}

Las tarjetas aparecerán una debajo de otra.

09

Adapta una navegación sencilla.

Si tu navegación horizontal deja de caber, puedes reorganizarla temporalmente en columna.

@media (max-width: 768px) {

  nav {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

}

Más adelante podrías crear un menú hamburguesa con JavaScript, como el que utilizamos en Digital Ukhti.

Para empezar, una navegación sencilla y usable es mejor que un menú complejo que no funcione correctamente.

10

Utiliza tamaños fluidos cuando tenga sentido.

CSS dispone de una función muy útil llamada clamp().

Por ejemplo:

h1 {
  font-size: clamp(40px, 6vw, 72px);
}

Esto permite que el texto cambie progresivamente de tamaño.

01

40px es el tamaño mínimo.

02

6vw es el tamaño flexible.

03

72px es el tamaño máximo.

11

Prueba tu web en diferentes tamaños.

No necesitas tener muchos dispositivos físicos.

Los navegadores incluyen herramientas de desarrollo que permiten simular diferentes tamaños de pantalla.

01

Abre tu página en Chrome o Edge.

02

Haz clic derecho y selecciona Inspeccionar.

03

Activa la vista de dispositivos.

04

Prueba varios anchos de pantalla.

No te limites a comprobar un único modelo de teléfono. Arrastra el ancho de la ventana y observa cómo responde el diseño.

12

Qué debes comprobar en móvil.

01

Que ningún contenido salga de la pantalla.

02

Que el texto sea suficientemente grande.

03

Que los botones sean fáciles de pulsar.

04

Que las imágenes no se deformen.

05

Que las columnas se reorganicen correctamente.

06

Que la navegación siga siendo usable.

Lo que has aprendido.

  • Una web responsive se adapta al tamaño de la pantalla.
  • La etiqueta viewport es esencial en dispositivos móviles.
  • Conviene evitar anchuras rígidas innecesarias.
  • Las imágenes pueden utilizar max-width: 100%.
  • Las media queries permiten aplicar estilos según el ancho.
  • Los títulos deben adaptarse a pantallas pequeñas.
  • Los espacios también pueden reducirse.
  • Las cuadrículas pueden pasar de varias columnas a una.
  • La navegación debe seguir siendo usable.
  • clamp() permite crear tamaños fluidos.
  • Debes probar la web en varios tamaños.

Convierte tu web en responsive.

Abre el proyecto que has construido durante las últimas lecciones y adapta su CSS.

  1. Comprueba que tienes la etiqueta viewport.
  2. Añade max-width: 100% a las imágenes.
  3. Crea una media query para 768px.
  4. Reduce el tamaño del h1 en móvil.
  5. Reduce el padding de las secciones.
  6. Convierte las columnas en una sola columna.
  7. Adapta la navegación.
  8. Comprueba los botones.
  9. Prueba la página en varios anchos.
No diseñes únicamente para un teléfono concreto. Una buena web debe responder de forma natural a muchos tamaños de pantalla diferentes.

LECCIÓN ANTERIOR

← 06 · Diseña tu página con CSS