Fundamentos do CSS: Guia para Iniciantes em Estilização Web
Sobre a Aula

Flexbox

O Flexbox é um modelo de layout do CSS que permite criar designs flexíveis e responsivos para elementos em uma página da web. Ele se baseia em um conceito de contêiner e itens flexíveis dentro desse contêiner.

Vamos usar uma analogia para entender o Flexbox. Imagine que você está organizando uma festa e precisa dispor os convidados em uma sala retangular.

O Flexbox seria como um conjunto de regras que ajudam a organizar os convidados de forma flexível, permitindo que eles se posicionem em diferentes arranjos.

Em um layout de Flexbox, temos um contêiner que envolve os elementos que queremos organizar. Esse contêiner é como a sala onde a festa está acontecendo.

Dentro do contêiner, temos os itens flexíveis, que seriam os convidados da festa. Esses itens podem ser divs, parágrafos, imagens ou qualquer outro elemento HTML.

Agora, vamos entender as principais propriedades do Flexbox:

  1. display: flex;: Essa propriedade é aplicada ao contêiner e ativa o modelo de layout do Flexbox. É como enviar um convite para os convidados, informando que a festa seguirá as regras flexíveis de posicionamento.
  2. flex-direction: Essa propriedade define a direção principal em que os itens serão dispostos no contêiner. Existem quatro valores possíveis: row (da esquerda para a direita), row-reverse (da direita para a esquerda), column (de cima para baixo) e column-reverse (de baixo para cima). É como determinar se os convidados devem se alinhar em uma única linha ou em uma única coluna.
  3. justify-content: Essa propriedade controla o alinhamento dos itens ao longo do eixo principal (horizontal para row e row-reverse, vertical para column e column-reverse). Ela define como os itens são espaçados e distribuídos dentro do contêiner. Existem valores como flex-start (início), center (centro), flex-end (fim) e space-between (espaçados igualmente ao longo do eixo). É como determinar se os convidados devem ficar alinhados à esquerda, no centro ou à direita da sala.
  4. align-items: Essa propriedade controla o alinhamento dos itens ao longo do eixo transversal (vertical para row e row-reverse, horizontal para column e column-reverse). Ela define como os itens são posicionados verticalmente dentro do contêiner. Valores como flex-start, center e flex-end são utilizados para alinhar os itens no início, no centro ou no final do eixo transversal. É como determinar se os convidados devem ficar alinhados no topo, no centro ou na parte inferior da sala.
  5. flex-wrap: Essa propriedade controla se os itens podem se ajustar a uma única linha ou se podem quebrar e fluir para a próxima linha. Valores como nowrap (nenhuma quebra de linha) e wrap (quebra de linha) são utilizados. É como decidir se os convidados devem permanecer em uma única fileira ou se podem formar várias filas.

Essas são apenas algumas das propriedades mais comumente usadas no Flexbox. O Flexbox é um modelo poderoso que oferece muitas outras propriedades para criar layouts flexíveis e responsivos.

Pois bem, vamos criar um exemplo simples para ilustrar o uso do Flexbox. Imagine que queremos criar uma lista de itens flexíveis, como caixas coloridas, e posicioná-las horizontalmente dentro de um contêiner.

Cada caixa terá um tamanho diferente e queremos que elas sejam igualmente espaçadas ao longo do eixo principal.

HTML:

<div class="container">

  <div class="item item-1">Item 1</div>

  <div class="item item-2">Item 2</div>

  <div class="item item-3">Item 3</div>

</div>

CSS:

.container {

  display: flex;

  justify-content: space-between;

}

.item {

  width: 100px;

  height: 100px;

  background-color: #e91e63;

  color: #fff;

  text-align: center;

  line-height: 100px;

}

Nesse exemplo, temos um contêiner com a classe “container” que contém três elementos div com a classe “item” e números de 1 a 3 dentro delas.

A propriedade display: flex; aplicada ao contêiner ativa o Flexbox.

A propriedade justify-content: space-between; é usada para distribuir igualmente os itens ao longo do eixo principal do contêiner, com espaçamento entre eles.

Isso cria um layout em que os itens são posicionados no início e no fim do contêiner, com espaço entre eles.

As propriedades de estilo aplicadas às classes “.item” definem o tamanho das caixas, a cor de fundo, a cor do texto e o alinhamento do texto.

Com esse exemplo, você verá que as caixas serão posicionadas horizontalmente dentro do contêiner, com espaçamento igual entre elas.

Experimente alterar as propriedades do Flexbox, como justify-content e align-items, e veja como o layout se adapta.

Você pode também adicionar mais caixas e definir tamanhos diferentes para cada uma delas para ver como o Flexbox ajusta automaticamente o posicionamento dos itens.

Em resumo, o Flexbox é um modelo de layout CSS que permite organizar elementos de forma flexível em uma página da web.

Nesse instante você se tornou um especialista no Flexbox e dominou as habilidades de criação de layouts flexíveis, é hora de ampliar seu arsenal de ferramentas com o poderoso sistema de layout do CSS: o Grid.

No próximo tópico, vamos explorar o Grid CSS, permitindo que você crie designs complexos e estruturados com facilidade. Prepare-se para elevar suas habilidades de layout a um novo patamar com o poder do Grid.

Entrar na conversa
Rolar para cima