Guia de ayuda CSS Grid

¿Qué es css Grid?

sistema de maquetación web que permite dividir una página en una cuadrícula para posicionar sus elementos de manera más sencilla y coherente

Dos Columnas Iguales

En este patrón de diseño se tienen dos columnas del mismo tamaño, generalmente para computadoras o tablets, en movil toma una sola columna.

El codigo se debe de implementar desde el elemento padre, por ejemplo:

Codigo en HTML

codigo CSS

El elemento nos ofrece el acceso a propiedades exclusivas de CSS grid.

El elemento toma el porcentaje total dado por el selector y lo divide entre el valor de las propiedades dadas por nosotros, se puede definir de tres formas distintas:

Tres Columnas Iguales

Este ejemplo es similar al anterior, entonces aplicando lo anterior tenemos que:

Codigo en HTML

codigo CSS

Alternativa

Tres Columnas Iguales (uno mas grande)

Es un patrón de diseño en el que obtenemos columnas de diferentes tamaños, en este ejemplo vamos a posicionar uno al centro mas grande, y los lados mas pequeños

Codigo en HTML

codigo CSS

con le estamos indicando los tamaños en pantalla que va tomar.

con vamos evitar que los elementos se desplacen.

con los selectores le estamos indicando al grid que tome la posición indicada por el valor del selector para entender un poco mejor el posicionamiento podemos visualizarlo con el inspeccionar.

imagen de ejemplo

Por ejemplo con el selector le estamos indicando que se posicione desde el numero 2 hasta el 3, por lo que tomaria el 60% del tamaño, algo similar pasaría con los demas selectores que deseamos posicionar.

por lo que finalmente tendriamos el siguiente resultado, aplicando las posiciones.

Alternativa

Por cada pixel que reciben los toma el tamaño dado por los fracciones de

Una alternativa más avanzada

crea unas tipo variables que van a corresponder a los tamaños dados por recursivamente.

y simplemente al selector se la da la propiedad de para poder utilizarla

Column drop

También se le conoce como colocación de columnas, va cambiando de acuerdo al espacio disponible

Suponiendo que tenemos el espacio de un disposito pequeño tenemos la siguiente distribución:

Primer Columna

Segunda Columna

Tercera Columna

Pero si tuvieramos más espacio disponible, suponiendo una computadora, las columnas se irían recolocando, se adapataría para obtener algo como lo siguiente:

Primer Columna

Segunda Columna

Tercera Columna

podríamos cambiar totalmente la distribución

veamos un ejemplo

Codigo HTML

Codigo CSS

Con la siguiente media querie le estamos indicando que a dispotivos mayores de 480px tome la distibución de 2 columnas, pero como son 3 elementos va crear automaticamente una fila, por lo que le indicamos que el primer elemento tome desde el espacio 1 hasta el 3, para que los siguiente dos espacios los rellene con los demas elementos.

Obtendríamos algo como esto:

imagen de prueba

Aplicando otra distribución a dispositivos mayores a 768px.

Le estamos indicando que el contenido primera se posicione de la columna de la 3/4 , y utilizamos grid-auto-flow: column; para que no haya desbordamiento de contenido

Se puede llevar mas complicado el reposicionamiento de columna gracias a CSS Grid, inspecciona el siguiete ejemplo:

Side Bar

Sidebar es mayormente utilizado en blogs, o tiendas virtuales, cuenta con area con un tamaño mas grande y una barra lateral de menor tamaño

Codigo HTML

Codigo CSS

con la propidad de le indicamos el tamaño de los elementons que va tomar segun su función

con le estamos indicando que acomode el contenido en los espacios vacios no declarados.

AL selector aside le estamos diciendo que con la propiedad grid-column:1/2; tome el espacio de la primera columna.

Alternativa

layout Shifter

Puede cambiar su orden y la ubicación de todos los elementos

Se puede traducir como cambio de diseño, ya que los elementos secundarios los puede convertir en principales y viceversa

Suponiendo que tenemos un contenido ordenado:

Podriamos reacomodarlo como:

Para este patron de diseño utilizamos la propiedad de con la que creamos areas para los contenedores, y observa como se posicionan con este simple codigo

esto lo podemos crear facimente con template columns pero, lo que va permitir layoutshifter es utilizar estas areas con nombre y definir donde se van a colocar

para definir un area, simplemente utilizamos un selector en el elemento que deseamos manipular, con la propiedad de

Codigo HTML

Aplicando podemos indicarle a grid que posicione la primera columna en la parte inferior

distribución de 768px

distribución de 992px

en resumen en tamaños inferiores el titulo se va desplazar a la parte inferior, y en tamaños mas grandes se va a posicionar de lado derecho del contenido, layout shifter entra en acción en cada Media Querie, cambiando la ubicación de los elementos. esta es la función de layout shifter, cambiar de diseño dependiendo de cada media querie.

Aplicando un sub grid en un elemento padre

El subgrid se va aplicar para los elementos que se encuentran dentro del selector, va crear dos areas para cada entrada de blog, asigando una fracción de espacio, con una separación de 3rem, en la primera media querie.

En la segunda media querie vamos a retirar la asignación de columnas, para posicionar las entradas una debajo de la otra.