Resumen

Estamos muy cerca de terminar nuestro proyecto. Ya sólo nos queda realizar la última sección y habremos finalizado. Para ello, por supuesto, vamos a analizar el diseño que tenemos en manos.

Maquetación del listado

Como vemos, se trata de una sección muy simple que tiene un título y cinco elementos imagen.

image.png
  • Primero creamos una nueva sección con la clase menú.
  • Creamos un h2 para el título de la sección con la clase menu-title. Agregamos el contenido.
  • Creamos un contenedor para las imágenes con la clase menu-grid.
  • Notamos en la muestra de arriba que cada imagen tiene un fondo rosa con los bordes redondeados. Para ello necesitamos contender cada etiqueta img en un div. A cada uno le agregamos la clase menu-grid-item.
<section class=""menu""> <h2 class=""menu-title"">Home menu</h2> <div class=""menu-grid""> <div class=""menu-grid-item""> <img src=""./img/plate1.png"" alt=""Plato de pasta con salsa y vegetales""> </div> <div class=""menu-grid-item""> <img src=""./img/plate2.png"" alt=""Plato de pasta con salsa y vegetales""> </div> <div class=""menu-grid-item""> <img src=""./img/plate3.png"" alt=""Plato de pasta con salsa y vegetales""> </div> <div class=""menu-grid-item""> <img src=""./img/plate4.png"" alt=""Plato de pasta con salsa y vegetales""> </div> <div class=""menu-grid-item""> <img src=""./img/plate5.png"" alt=""Plato de pasta con salsa y vegetales""> </div> </div> </section>

Estilos para el listado

Título

  • Llamamos la clase .menu y agregamos un margin-bottom: 200px para separarla del final de la sección.
  • Ahora, llamamos a la clase de nuestro título con .menu-title.
  • Le damos un tamaño de 2rem y un color de #333. Agregamos un peso en bolder.
  • Centramos el texto con text-align: center y añadimos un margin inferior con margin-bottom: 50px.
.menu { margin-bottom: 200px; } .menu-title { font-size: 2rem; color: #333; font-weight: bolder; text-align: center; margin-bottom: 50px; }

Grilla

  • Llamamos la clase de nuestro menú con .menu-grid. Por supuesto, aplicamos display: grid.
  • Centramos el contenedor.
  • Creamos 5 columnas con un ancho mínimo de 100px cada una y un máximo de 250px.
  • Llamamos a los contenedores de imagen con .menu-grid-item.
  • Le damos un color de fondo, en este caso usaremos coral.
  • Sólo redondeamos una de sus esquinas con border-top-left-radius: 40px.
  • Llamamos cada imagen desde su clase contenedora con .menu-grid-item img.
  • Le damos un ancho y alto del 100%.
  • Modificamos la imagen para que se adapte al tamaño de la caja contenedora con object-fit: contain.
.menu-grid { display: grid; justify-content: center; grid-template-columns: repeat(5, minmax(100px, 250px)); } .menu-grid-item { background-color: coral; padding: 15px; border-top-left-radius: 40px; } .menu-grid-item img { width: 100%; height: 100%; object-fit: contain; }

Podremos visualizar este resultado en nuestro navegador:

image.png

¡Y ya está! El proyecto prácticamente está terminado, pero por supuesto, como buen desarrollador, tienes que hacerlo responsivo. De eso nos encargaremos en la siguiente clase.

Contribución creada por: José Miguel Ventimilla (Platzi Contributor).