La organización y alineación de elementos en CSS Grid es fundamental para facilitar el diseño web moderno y altamente responsivo. En esta sección, descubrirás cómo ubicar y alinear elementos en una cuadrícula con facilidad y precisión. A través del ejemplo práctico proporcionado, entenderemos cómo se pueden implementar los conceptos básicos de CSS Grid para crear un diseño visualmente atractivo y estructurado.
¿Cómo ubicar elementos internos en la cuadrícula?
Para empezar a trabajar con CSS Grid, necesitamos preparar nuestro código HTML y CSS. Al crear una cuadrícula, disponemos elementos internos que llamaremos ítems. En este ejemplo, organizamos cinco ítems distintivos en nuestra cuadrícula:
Un ítem amarillo
Un ítem azul
Un ítem hot pink
Un borde en hot pink
Un segundo borde compartiendo estilo con el anterior
Este proceso de implementación especifica la ubicación exacta de cada ítem en relación a la rejilla de la cuadrícula.
¿De qué manera posicionar los ítems en CSS?
CSS Grid proporciona un control excelente sobre la ubicación de los elementos, utilizando propiedades específicas como grid-column y grid-row. Para delinear claramente la posición, debes definir la línea de inicio y fin que ocupará cada ítem en filas y columnas.
A medida que practiques, comenzarás a identificar líneas numeradas en la cuadrícula que facilitan la ubicación deliberada de los ítems. Por ejemplo, colocar un ítem azul en específico lugar implica practicar con las líneas verticales y horizontales, como se muestra aquí:
.item-2{background:var(--blue);grid-column:1/4;grid-row:7/9;opacity:0.5;/* Acento personal */}
¿Qué pasos seguir para un diseño más complejo?
Con funcionalidad adicional, se pueden crear formas más complejas sin relleno de color, como bordes. Aquí manejamos esto aplicando CSS de la siguiente manera:
Este estilo garantiza que el diseño alinee los bordes sin necesidad de rellenar el área del ítem. Además, la reutilización del estilo asegura consistencia en el diseño global.
¿Por qué es relevante tener una cuadrícula guía?
Aunque puede parecer complicado al principio, tener una guía visual con las líneas numeradas en tu cuadrícula te facilitará el proceso de posicionamiento sin errores. Esto es fundamental, pero data de una práctica y organización previas que pueden llevar algo de tiempo habituarse.
En resumen, CSS Grid se presenta no solo como una metodología de diseño flexible, sino como una herramienta poderosa para los desarrolladores que buscan precisión y eficiencia en sus proyectos. ¡Sigue explorando y practicando para dominar esta habilidad esencial!
Diablos, debo admitirlo, tengo casi un año como developer y aprendí CSS Grid casi desde el comienzo, y nunca supe o me imaginé que un item se podía sobreponer a otro en el grid, es decir, que parte de uno <div> o todo del mismo pudiera ocupar una celda que estuviera siendo ocupada por otro <div> 😱😱😱
Estamos igual, yo llevo usando grid hace tiempo para mis proyectos y por alguna razón nunca se me ocurrió que se podrían sobreponer .... siempre que necesitaba eso me complicaba con position absolute etc etc
Hola Javi !!! En dónde tienes tu proyectito ? En la terminal de VSC puedes poner el comando pwd y esa es la ruta que necesitas para poder visualizar tu código en el navegador...
Cuéntame si con eso te funcionó o compártenos tu código para poder ayudarte 😊
La verdad me parece muy intersante esta manera de ubicar los elementos independientes, está muy cool y la verdad estoy medio copiando el diseño de la profe para poder interiorizar con una guia directa, aunque el tema de lineas es algo confuso jeje.
No soy muy creativo, solo le cambié algunos colores, pero hay una manera más simple para asignarle a cada item el área que ocupará
grid-area: #1/ #2/ #3/ #4;
Esto junta grid-column y grid-row
En el #1 va el número en el que inicia la fila (row) y el #3 en el que termina.
En el #2 va el número en el que inicia la columna (column) y en el #4 en el que termina
Por ejemplo para el item-1 sería:
Para los que les quedo la duda de como controlar quien esta encima de quien osea controlar la sobreposición de los contenedores aqui les explico:
Inicialmente tenemos que el contenedor verde esta debajo de los otros dos contenedores, pero yo quiero que ese este encima de los dos, para ello tenemos que recurrir al html el cual esta maquetado de esta forma
Y con ello la visualización me queda asi, si quieren que quede encima del uno y abajo del otro o en la disposición que deseen solo van jugando con la posición de los contenedores en el html. Espero les sirva :)
Aqui dejo mi avance con el proyecto:
Basado en esta imagen:
Acá el código:
HTML
<body><div class="grid"><div class="grid-cell 1"><img src="./css/assets/square-vector.svg" alt="vector"><p class="special">Lorem ipsum dolor sit amet .</p></div><div class="grid-cell 2"><p>Lorem ipsum dolor sit amet consectetur adipisicing elit.At ex accusantium aperiam eaque aut consequuntur soluta dolores molestias unde inventore.</p></div><div class="grid-cell 3"><p>Trentenni<br> e quarentenni <br> hanno <br> conquistato <br> il potere
</p></div><div class="grid-cell 4">E</div><div class="grid-cell 5"><p>Lorem ipsum dolor sit amet consectetur adipisicing elit.At ex accusantium aperiam eaque aut consequuntur soluta .</p></div><div class="grid-cell 6">O</div><div class="grid-cell 7">R</div><div class="grid-cell 8">A</div><div class="grid-cell 9">?</div><div class="grid-cell 10"><p>Lorem ipsum dolor sit amet consectetur adipisicing elit.At ex accusantium aperiam eaque aut consequuntur soluta .</p></div><div class="grid-cell 11"><p>Lorem ipsum dolor sit amet consectetur adipisicing elit.At ex accusantium aperiam eaque aut consequuntur soluta .</p></div><div class="grid-cell 12"><p>Lorem ipsum dolor sit amet consectetur adipisicing elit.At ex accusantium aperiam eaque aut consequuntur soluta .</p></div><div class="grid-cell 13"></div></body>