Skip to content

estartandodevs-course/css-flexbox-2025

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Guia Prático de Flexbox, Pseudo-classes e Responsividade

Este projeto demonstra o uso de Flexbox no CSS, incluindo suas propriedades mais importantes para o container e para os itens, além do uso de pseudo-classes e media queries para responsividade.

📌 O que é Flexbox?

O Flexbox (Flexible Box Layout) é um modelo de layout do CSS que permite organizar elementos de forma eficiente, adaptável e responsiva, tanto no eixo horizontal quanto no vertical.
Ele é ativado ao definir display: flex no elemento pai (container).


🧩 Estrutura do Código

O exemplo é composto por:

  • Container Flex (.container) com propriedades de alinhamento e espaçamento.
  • Itens Flex (.item) demonstrando propriedades de crescimento, encolhimento e tamanho base.
  • Pseudo-classes para interações como :hover, :focus, :active, :first-child, etc.
  • Media Queries para ajustes responsivos.

🎯 Propriedades do Container

No Flexbox, o container é o elemento pai que controla o alinhamento dos itens.

Propriedade Descrição Exemplos
display Ativa o flexbox display: flex;
flex-direction Define a direção principal dos itens row, column, row-reverse, column-reverse
flex-wrap Permite quebra de linha nowrap, wrap, wrap-reverse
flex-flow Atalho para flex-direction + flex-wrap row wrap
justify-content Alinha os itens no eixo principal flex-start, center, flex-end, space-between, space-around, space-evenly
align-items Alinha os itens no eixo cruzado (vertical se row) flex-start, center, flex-end, stretch, baseline
align-content Alinha múltiplas linhas no eixo cruzado flex-start, center, flex-end, space-between, space-around
gap Espaço entre os itens gap: 20px;

🧱 Propriedades dos Itens

As propriedades abaixo afetam cada item individual dentro do container.

Propriedade Descrição Exemplo
order Define a ordem de exibição order: 2;
flex-grow Define quanto o item cresce flex-grow: 1;
flex-shrink Define quanto o item encolhe flex-shrink: 1;
flex-basis Define o tamanho inicial antes de distribuir o espaço flex-basis: 200px;
flex Atalho para flex-grow flex-shrink flex-basis flex: 1 1 200px;
align-self Alinhamento individual align-self: center;

🎨 Pseudo-classes no Código

O exemplo também demonstra o uso de pseudo-classes para melhorar a interação e a aparência dos elementos.

  • :hover → Aplica estilo quando o mouse está sobre o elemento.
  • :active → Aplica estilo enquanto o botão do mouse está pressionado.
  • :first-child → Aplica estilo ao primeiro item.
  • :last-child → Aplica estilo ao último item.
  • :nth-child(odd) → Aplica estilo a itens ímpares.
  • :focus → Aplica estilo quando o elemento (ex.: input) está focado.
  • :disabled → Aplica estilo a botões desabilitados.

📱 Responsividade com Media Queries

O Flexbox já é naturalmente flexível, mas é comum combinar com media queries para criar layouts adaptáveis.

Exemplos do código:

@media (min-width: 768px) {
  .container {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .item {
    background: #e67e22;
    font-size: 14px;
  }
}
  • A partir de 768px: os itens passam a ser exibidos em coluna.
  • Até 480px: o tamanho da fonte é reduzido e a cor de fundo é alterada.

🖥 Demonstração Visual

Diagrama Flexbox

O Eixo Principal (Main Axis) é definido pela propriedade flex-direction.
O Eixo Cruzado (Cross Axis) é perpendicular ao eixo principal.

.container (pai) → controla alinhamento
    ├── .item (filho) → pode crescer, encolher, alinhar individualmente
    ├── .item
    ├── .item

💡 Dicas Avançadas de Flexbox

  1. Centralização perfeita
    Para centralizar horizontal e verticalmente:

    display: flex;
    justify-content: center;
    align-items: center;
  2. Espaçamento automático
    Usar margin-left: auto; ou margin-right: auto; em um item para empurrá-lo para o lado.

  3. Flex + Responsividade
    Flexbox é ótimo para layout fluido, mas combine com grid se precisar de layouts mais complexos.


📚 Referências

About

Repositório referente a aula de flexbox, pseudo-classes e responsividade.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages