Exemplo de CSS-GRID na pratica para Estudos =)
- Bimensional
- Divisão de toda a página em linhas e colunas
- Colocar elementos onde quiser nessa divisão
- Grid: Duas dimensões (colunas e linhas)
- Flexbox: Uma dimensão (ou coluna ou linha)
- Um complementa o trabalho do outro
- Verificar quais navegadores ainda não estão aceitando o Grid
Vamos separar em 2 grupos:
container
e item(s)
-
display: grid; -- Inicia o container dizendo que é um GRID!
-
grid-template-columns; -- Começa a fatiar suas colunas, quanta colunas possui!
-
grid-template-rows; -- Delimita as linhas!
-
grid-gap
- grid-row-gap
- grid-column-gap ---- Espaçamentos
-
grid-template-areas; --- Delimitar areas e criar templates
... e mais 4 propriedades e alinhamento!
- grid-column
- grid-column-start - Define o objeto ao inicio
- grid-column-end - Define o objeto ao fim
- grid-row
- grid-row-start - Define o objeto ao inicio
- grid-row-end - Define o objeto ao fim
- grid-area - A onde ficaria a area
... e mais 2 propriedades de alinhamento!
Existem 6 propriedades para alinhamento:
justify-content
align-content
justify-items
align-items
justify-self
align-self
Vamos separá-los em 2 grupos
justify
ealign
content
,items
eself
Sabendo que o grid é bidimensional, nós temos o eixo x e o y.
O eixo x é o posicionamento horizontal, da esquerda para a direita.
O eixo y é o posicionamento vertical, de cima para baixo
Justify
trabalhará o eixo x.
Align
trabalhará o eixo y.
Juntando o justify
, ou align
, com esses elementos: content
, items
e self
; nós observamos nossas propriedades
justify-content
e align-content
nos permite alinhar o próprio grid, relativo ao espaço fora do grid.
O uso dessas propriedades são raras, pois só é aplicado caso o grid seja menor que a area definida. (Por exemplo, quando usamos em px o tamanho do grid, poderemos terminar com um grid pequeno, para o tamanho da area do grid)
Podemos usar 7 valores:
- start
- end
- center
- stretch
- space-between
- space-around
- space-evenly
justify-items
e align-items
vai permitir alinhar os items do nosso grid, em qualquer espaço disponível, na célula que ele habitar.
Podemos usar 4 valores:
- start
- end
- center
- stretch
justify-self
e align-self
vai nos permitir alinhar o item em si.
Faz a mesma coisa que o justify-items
e align-items
, porém, aplicado diretamente no item de um grid