Skip to content

Dicas e exemplos CSS3 feitas a partir do curso "Flexbox: Posicione elementos na tela" da alura.

License

Notifications You must be signed in to change notification settings

vkhydra/flexbox-hints

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flexbox

Informações com referências de cursos da Alura, site da MDN e de um projeto feito na ORIGAMID, o qual não sou autor. As refências do mesmo e outras informações podem ser encontradas no rodapé próprio site.

Como usar o Flexbox

1° - Pergunte às tags, ou classes...

Pergunte para as tags, ou classes, quem é o pai. A tag/classe pai deverá receber no CSS o seguinte parâmetro:

classe-pai {
  display: flex;
}

Obs.: Classes filhos ficarão com tamanhos iguais caso o pai receba display flex.

2° - Alinhar itens ao centro da classe pai...

Para esta ação, devemos apenas adicionar o seguinte parâmetro a classe pai:

classe-pai {
    ...
  align-items: center;
}

3° - Distribuir espaço igual entre os elementos...

Nesse caso, precisamos ter um espaço em restante no espaço pai. Por exemplo:

Barra de navegação com título "Alurinha" à esquerda e um menu à direita.

Utilizaremos o parâmetro:

classe-pai {
    ...
  justify-content: space-between;
}

O resultado será:

Barra de navegação com título "Alurinha" à esquerda, menu ao meio, e um espaço à direita.

4° - Distribuir espaço equivalente entre os elementos...

Para isso, utilizaremos um parâmetro parecido com o anterior:

classe-pai {
    ...
  justify-content: space-around;
}

Exemplos de espaços com between e around.

5° - Organizar itens em colunas...

Lembrando que para utilizar comandos flex, precisamos que a classe pai, referente ao filho que estamos trabalhando, receba display: flex;. Com isso feito, utilizaremos flex-direction, o qual define a direção dos itens. Para esse caso utilizaremos a propriedade column. Ela separa cada item do pai em colunas.

Obs: Por padrão de sistema, o flex-direction tem como parâmetro row, ou seja, em linha.

Exemlplo da utilização de column

6° Quebrar linhas...

Para isso, utilizaremos o comando flex-wrap. Esse comando poderá receber 3 parâmetros:

 {
  flex-wrap: nowrap;
  flex-wrap: wrap;
  flex-wrap: wrap-reverse;
}

Lembrando que é recomendável que o elemento pai tenha um valor de altura.

Exemplo da utilização de flex wrap

7° O flex-flow é um atalho bem útil...

Para usar flex-direction e flex-wrap de uma vez só podemos utilizar o flex-flow. Ele recebe dois parâmetros, o primeiro indicará se é uma coluna ou uma linha, o segundo se é um quebra linha ou não:

 {
  flex-flow: [row/column] [wrap/nowrap];
}

8° Alterar ordem de itens flex (classes/tags filhos)

Para alterar a ordem precisamos usar o order: n. Por padrão, os itens flex possuem um order: 0;. Se temos apenas um item que quermos colocar antes de todos os outros itens, colocamos order: -1;, e para colocá-lo na última posição colocamos order: 1;. Podemos também utilizar para ordenar conforme uma base de números que escolhermos, por exemplo:

  • item 3: order: 1
  • item 5: order: 1
  • item 1: order: 2
  • item 2: order: 3
  • item 4: order: 3

9° Faça os itens crescerem como o Super Mario ao pegar um cogumelo.

Infelizmente o flexbox não tem um cogumelo, mas podemos usar o flex-grow: n;. Devemos dar um número para definir a proporção que o item irá crescer. Por padrão o flex-grow tem 0 como valor. Se dois itens filhos do mesmo pai estiverem utilizando flex grow, o espaço será dividido proporcionalmente com o valor que colocar no item.

10° Agora o inverso, vamos diminuir...

O flex-shrink: n; faz esse trabalho para a gente. Ao diminuir a resolução da tela, ele faz o trabalho de diminuir certos itens mais do que os outros, sendo que ele recebe um valor proporcional também, como no flex-grow

11° Propriedades do flex-container(pai) e do flex-itens(filho):

Flex-container:

 {
  display: flex; => Necessário para o funcionamento do flexbox
  flex-direction: ;
  justify-content: ;
  flex-wrap: ;
  flex-flow: ;
  align-items: ;
  align-content: ;
}

Flex-itens

 {
  order: ;
  flex-grow: ;
  flex-shrink: ;
  flex-basis: ;
  flex: ;
  align-self: ;
}

About

Dicas e exemplos CSS3 feitas a partir do curso "Flexbox: Posicione elementos na tela" da alura.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published