Saltar al contenido principal
Codigo Heroe
Tarea anterior
Distribución de componentes6/17
A la lista de tareas
  1. 1. Columnas para un componente
  2. 2. Flexbox dentro de grid
  3. 3. Márgenes y relleno de los enlaces
  4. 4. Enlaces con cajas de bloque
  5. 5. Alineación vertical con align-items
  6. 6. Varias líneas con flex-wrap
  7. 7. Ancho y relleno de las tarjetas
  8. 8. Distribución con justify-content
  9. 9. Separación con margin
  10. 10. Márgenes y :nth-child
  11. 11. Pruebas con distintos anchos
  12. 12. Columnas con repeat y separación con gap
  13. 13. El valor auto-fit
  14. 14. La función minmax
  15. 15. La propiedad grid-column
  16. 16. La propiedad grid-row
  17. 17. La propiedad grid-auto-flow
Siguiente tarea
  • Matriz de skills
  • Cursos
  • Registro
  • Iniciar sesión

Loading…
En unos segundos, estará listo.

  • Teoría
  • Teoría

Varias líneas con flex-wrap

Reprodujimos el diseño de la navegación y después añadimos tres elementos más a la lista. No había espacio suficiente y apareció una barra de desplazamiento horizontal. Además, los últimos elementos sobresalieron de los límites de la navegación. Este comportamiento se llama desbordamiento.

Equipo
Guías
Compañía
Contacto

Los elementos suelen desbordarse cuando no se tiene en cuenta que el contenido puede cambiar. Al distribuir los grandes bloques de la página, podíamos contar con que no aparecería un segundo encabezado o pie de página. En cambio, la cantidad de elementos dentro de un componente, como los enlaces de la navegación, casi seguro cambiará. Hay que preverlo.

En nuestra página, los elementos de la lista no cabían a lo ancho. No pasaron a otra línea porque, de forma predeterminada, un contenedor flex tiene una sola línea. Para evitar que los elementos se desborden, debemos permitir varias líneas.

Para ello se usa la propiedad flex-wrap. Su valor predeterminado, nowrap, impide el salto de línea. Si lo cambiamos a wrap, los elementos flex podrán pasar a la siguiente línea.

.flex-container {
  display: flex;
  flex-wrap: wrap;
}

Añadiremos a la lista navigation-list la propiedad flex-wrap con el valor wrap. Comprobaremos que los elementos pasan a otra línea en lugar de desbordarse.

Después quitaremos el resaltado de las cajas.

  • index.html
  • style.css
HTML
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="navigation-decorative.css"> <link rel="stylesheet" href="navigation-outline.css"> <link rel="stylesheet" href="style.css"> <title>Club de senderismo</title> </head> <body> <nav class="navigation"> <a class="logo" href="#"> <img src="img/hiking-club.svg" alt="Logotipo de Hiking Club" width="95" height="22"> </a> <ul class="navigation-list"> <li class="navigation-item"> <a class="navigation-link current" href="#">Inicio</a> </li> <li class="navigation-item"> <a class="navigation-link" href="#">Rutas</a> </li> <li class="navigation-item"> <a class="navigation-link" href="#">Equipo</a> </li> <li class="navigation-item"> <a class="navigation-link" href="#">Guías</a> </li> <li class="navigation-item"> <a class="navigation-link" href="#">Compañía</a> </li> <li class="navigation-item"> <a class="navigation-link" href="#">Contacto</a> </li> </ul> </nav> <h1 class="title">Club de<br>senderismo</h1> </body> </html>
CSS
body { margin: 0; padding-right: 20px; padding-left: 20px; } .navigation { display: grid; grid-template-columns: 95px 1fr; column-gap: 75px; align-items: center; } .navigation-list { display: flex; justify-content: space-between; margin: 0; padding: 0; } .navigation-link { display: block; margin: 5px; padding: 15px; }

El código ha cambiado, haz clic en "Actualizar" o activa la ejecución automática.

Ha ido a otra página

Haga clic dentro del mininavegador para poner el foco en esta ventana.

100%
ObjetivosRealizado
0
    1. Añade a la regla de navigation-list la propiedad flex-wrap con el valor wrap.
      Los elementos que no quepan pasarán a otra línea.
    2. En la línea 6 de index.html, elimina la conexión del archivo navigation-outline.css.
    Codigo Heroe

    © 2023-2026, codigoheroe.com