Saltar al contenido principal
Codigo Heroe
Tarea anterior
Distribuciones complejas de componentes14/18
A la lista de tareas
  1. 1. Ancho y relleno de las tarjetas
  2. 2. Márgenes entre elementos flex
  3. 3. La propiedad align-items en flexbox
  4. 4. La dirección del eje principal
  5. 5. El orden visual con order
  6. 6. La propiedad align-self en flexbox
  7. 7. Márgenes y rellenos de los elementos flex
  8. 8. Prueba de una imagen más grande
  9. 9. Imágenes que se ajustan al contenedor
  10. 10. Una tarjeta con dos columnas
  11. 11. Una distribución asimétrica con tres columnas
  12. 12. Áreas de grid
  13. 13. Áreas que ocupan varias filas
  14. 14. Reglas de las áreas de grid
  15. 15. La propiedad align-self en grid
  16. 16. Ajustar el ancho de las columnas
  17. 17. La propiedad justify-self
  18. 18. Prueba de la tarjeta con más contenido
Siguiente tarea
  • Matriz de skills
  • Cursos
  • Registro
  • Iniciar sesión

Loading…
En unos segundos, estará listo.

  • Teoría
  • Teoría

Reglas de las áreas de grid

Ya describimos la plantilla del contenedor grid y colocamos la lista de opciones como en el diseño. Faltan la descripción y el aviso. Sus áreas ya están en la plantilla; ahora debemos asignárselas a los elementos.

Diseño de la tarjeta

Las áreas permiten describir con claridad una distribución compleja e incluso cambiar el orden visual de los elementos. Sin embargo, tienen algunas limitaciones. Primero, las áreas deben ser rectangulares y continuas.

/* Este código no funciona */
grid-template-areas: "logo main"
                     "main main";

/* Este tampoco */
grid-template-areas: "nav logo nav";

Segundo, todas las filas de la plantilla deben tener el mismo número de columnas:

/* Este código no funciona */
grid-template-areas: "logo nav"
                     "aside main banner"
                     "footer";

Si el valor de grid-template-areas es incorrecto, el navegador lo ignorará y la distribución podría romperse.

Por último, para evitar superposiciones, conviene asignar cada área a un solo elemento. Si asignas la misma área a varios elementos, se superpondrán. Por eso las áreas no son una buena opción, por ejemplo, para una lista de tarjetas, sobre todo si no sabes de antemano cuántas habrá.

En cambio, resultan cómodas cuando hay pocos elementos y sabes dónde debe ir cada uno. Puedes consultar más detalles en la especificación.

Asignemos las áreas a la descripción y al aviso.

  • index.html
  • style.css
HTML
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="card-decorative.css"> <link rel="stylesheet" href="style.css"> <title>Plan</title> </head> <body> <article class="card"> <h2 class="title">Plan «Charla sin fin» con un paquete adicional de SMS</h2> <div class="description"> <p>El plan para quienes disfrutan conversar.</p> </div> <ul class="options-list"> <li class="options-item">Llamadas ilimitadas.</li> <li class="options-item">Redes sociales ilimitadas.</li> <li class="options-item">Mensajería ilimitada.</li> <li class="options-item">600 SMS al día.</li> </ul> <div class="price">999₽</div> <div class="disclaimer">No constituye una oferta vinculante.</div> </article> </body> </html>
CSS
.card { width: 540px; padding: 20px; display: grid; grid-template-columns: 260px 165px 75px; grid-template-areas: "title title price" "options description description" "options disclaimer disclaimer"; gap: 20px; } .title { grid-area: title; } .price { grid-area: price; } .options-list { grid-area: options; }

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. Asigna el área description al elemento con la clase description. La descripción ocupará dos columnas.
    2. Asigna el área disclaimer al elemento con la clase disclaimer. El aviso también se extenderá.
    Codigo Heroe

    © 2023-2026, codigoheroe.com