WDD 130: Fundamentos da Web

S04 Atividades de Aprendizagem: Utilizando Layouts do CSS

Visão Geral

Dominar CSS Flex e Grid pode ser desafiador. Esta atividade destaca alguns dos layouts mais relevantes e os princípios por trás deles.

Acesse as páginas do MDN sobre HTML e CSS, para obter informações mais detalhadas sobre qualquer tópico dessa aula, e sempre que precisar, procure seu instrutor para esclarecer suas dúvidas.

Preparação

Quando devo usar CSS Flex e CSS Grid?

Dependendo do layout desejado, muitas vezes você pode fazer qualquer método funcionar. Você pode até usá-los juntos, como usar o flex para alinhar itens dentro de um item de grade.

Escolha Flex
Escolha Grid

Métodos Comuns de Layout

A seguir, apresentamos algumas tarefas comuns de layout que podem ser facilmente concluídas com Flex e Grid.

Alinhamento de Itens em uma Coluna
Coluna de Direção Flex

Para alinhar itens em uma coluna, você pode usar Flex e definir flex-direction: column; (row é padrão).

display: flex;
flex-direction: column;
Centralização Vertical e Horizontal
Layout centralizado com Flex/Grid

O código a seguir centraliza o item filho horizontal e verticalmente usando CSS Grid. Naturalmente, esse código é aplicado ao contêiner pai da grade.

display: grid;
place-items: center;

A centralização também pode ser controlada com o seguinte código para Flex e Grid:

display: flex; /* ou grid */
justify-content: center;
align-items: center;

Instruções da Atividade

  1. Na pasta semana04, abra os arquivos exercicios-layout.html e exercicios-layout.css na subpasta estilos da semana04.
  2. Utilize o Live/Five Server para abrir o arquivo no navegador.
  3. Conclua os três exercícios presentes no arquivo. As imagens a seguir mostram o resultado esperado da solução:
    Resultado do Exercício de Layout 1
    Resultado do Exercício de Layout 2
    Resultado do Exercício de Layout 3
Avalie Seu Conhecimento

Tente resolver os exercícios por conta própria antes de consultar este exemplo de solução.

  1. .flex {
      background-color: #aba;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    .grid {
      background-color: #abb;
      display: grid;
      place-items: center;
    }

    * Tanto place-items quanto align-items/justify-content podem ser usados para o exercício.

  2. .conteiner2 {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-around;
    }
  3. .conteiner3 {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;  /* ou grid-template-columns: repeat(3, 1fr); */
    }
                  
    .colunas-3 {
      grid-column: 1/4; /* ou grid-column: span 3; */
    }

Existe também um arquivo de solução chamado solucao-exercicios-layout.html e o arquivo CSS correspondente chamado solucao-exercicios-layout.css na pasta semana04.