Saltar al contenido principal
Codigo Heroe
Lista de tareas
Distribución de componentes1/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

Columnas para un componente

En la parte anterior aprendimos a controlar el flujo del documento y a distribuir los grandes bloques de una página. Ahora trabajaremos en las distribuciones dentro de componentes, es decir, bloques que aparecen a menudo en los sitios web. Practicaremos con una navegación y una lista de tarjetas.

La distribución dentro de un componente depende menos del diseño de referencia y más del contenido que la distribución general de una página.

Empezaremos con una navegación formada por un logotipo y una lista de enlaces. El enlace a la página actual debe distinguirse de los demás. Supongamos que estamos creando la navegación de la página principal:

Diseño de la navegación

Hay que distribuir el contenido de la navegación en dos columnas y dejar un espacio entre ellas. La columna izquierda debe tener un tamaño fijo y la derecha debe ocupar todo el espacio restante.

Para crear esta distribución conviene usar grid. Esta tecnología permite crear fácilmente columnas de ancho fijo o flexible y controlar el espacio que las separa.

Diseño de la navegación

En la parte anterior vimos cómo cambiar el tipo de caja, definir las columnas y filas de un contenedor grid, trabajar con el espacio libre y separar las columnas. Usaremos esos conocimientos para distribuir la navegación.

.grid-container {
  display: grid;
  grid-template-columns: 1fr 50px;
  column-gap: 5px;
}

Primero conectaremos una hoja de estilos que resalta las cajas para verlas mejor.

Después convertiremos el elemento con la clase navigation en un contenedor grid y dividiremos su contenido en dos columnas con la propiedad grid-template-columns. Luego usaremos column-gap para separar las columnas.

  • index.html
  • style.css
HTML
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="navigation-decorative.css"> <!-- Conecta el archivo aquí --> <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> </ul> </nav> <h1 class="title">Club de<br>senderismo</h1> </body> </html>
CSS
body { margin: 0; padding-right: 20px; padding-left: 20px; }

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. En la línea 6, conecta el archivo navigation-outline.css.
    2. En style.css, crea una regla para la clase navigation y establece su tipo de caja en grid.
    3. Divide el contenido de navigation en dos columnas de 95px y 1fr de ancho.
    4. Deja un espacio de 75px entre las columnas.
    Codigo Heroe

    © 2023-2026, codigoheroe.com