Saltar al contenido principal
Codigo Heroe
Tarea anterior
Distribución de componentes4/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

Enlaces con cajas de bloque

En el ejercicio anterior añadimos márgenes y relleno a los enlaces. Sin embargo, no aparecieron los márgenes verticales y el relleno sobresalió de la navegación. Por eso el fondo del enlace a la página actual se superpuso a la línea blanca.

Logotipo
Inicio
Rutas
Equipo

Esto ocurre porque los enlaces tienen cajas en línea de forma predeterminada. El navegador ignora sus márgenes verticales, y el relleno superior e inferior no afecta a la posición de los demás elementos ni a la altura de la línea.

Veamos un ejemplo con cuatro enlaces en dos líneas. Cada enlace tiene márgenes y relleno en todos los lados, además de su propio color de fondo:

Enlace color muslo de ninfa asustadaEnlace naranja
Enlace lapislázuliEnlace color de hojas tiernas

Fíjate en que los enlaces se separaron horizontalmente: se aplicaron el relleno y los márgenes horizontales. En cambio, no aparecieron los márgenes verticales, y el relleno superior e inferior se superpuso e incluso sobresalió del contenedor. Este es el comportamiento habitual de las cajas en línea.

Necesitamos que los enlaces de la navegación respeten los márgenes superior e inferior y que su relleno vertical no sobresalga. La forma más sencilla de lograrlo es cambiar su tipo de caja. Por ejemplo, podemos convertirlos en cajas de bloque:

.element {
  display: block;
}

En las cajas de bloque se aplican todos los márgenes, y el relleno vertical se comporta igual que el horizontal.

Ya convertimos cajas de bloque en contenedores grid y flex. Del mismo modo, podemos convertir cajas en línea en cajas de bloque y viceversa. Esto no cambia la semántica de la etiqueta.

Convertiremos los enlaces en cajas de bloque y comprobaremos que se aplican los márgenes verticales.

  • 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> </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; } .navigation-list { display: flex; justify-content: space-between; margin: 0; padding: 0; } .navigation-link { 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. Establece el tipo de caja de los enlaces navigation-link en block. Aparecerán los márgenes verticales y el fondo del enlace a la página actual dejará de sobrepasar la línea blanca.
    Codigo Heroe

    © 2023-2026, codigoheroe.com