image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
Rafael Dias
Rafael Dias03/12/2023 17:44
Compartilhe

Criando Experiências de Usuário Fluidas: O Poder Intuitivo do Flexbox no CSS

  • #CSS

Introdução

E ai pessoal beleza? Hoje vou abordar um pouco de como essa poderosa ferramenta do CSS Flexbox pode ser uma mão na roda

Se você já navegou por um site e tudo parecia se encaixar perfeitamente, sem aquela bagunça estranha, isso é graças à Experiência do Usuário (UX) fluida. É como quando você monta um quebra-cabeça e todas as peças se conectam suavemente, fazendo você se sentir confortável e feliz!

Estrutura

Desvendando o Mistério do Flexbox em CSS

O Flexbox é como a varinha mágica do mundo do design na web. Em vez de lidar com layouts complicados, o Flexbox permite que os elementos se ajustem automaticamente, como mágica! É como dizer ao computador para arrumar as coisas de uma maneira legal, e ele faz isso sem reclamar.

Vamos Ver na Prática! Experiência Fluida com Exemplos de Códigos em Flexbox

Imagine que você está organizando seus brinquedos em uma prateleira. O Flexbox é como a mão mágica que alinha os brinquedos em fileiras perfeitas. No código, seria algo como:

.container {
 display: flex;
 justify-content: space-between;
}

Aqui, "display: flex" diz ao navegador para usar a mágica do Flexbox, e "justify-content: space-between" diz para colocar os brinquedos (ou elementos) com um espaço igual entre eles.

Outros exemplos de diretivas estruturais

  • display: flex;

Esta diretiva é fundamental para usar o Flexbox, ela transforma um elemento em um flexível, permitindo que seus filhos se comportem como itens flexíveis.

  • flex-direction: row | row-reverse | column | column-reverse;

Define a direção principal em que os itens flexíveis são colocados no contêiner. Pode ser horizontal (row), horizontal reverso (row-reverse), vertical (column), ou vertical reverso (column-reverse).

  • flex-wrap: nowrap | wrap | wrap-reverse;

Controla se os itens flexíveis devem permanecer em uma única linha (nowrap) ou se devem quebrar para a próxima linha (wrap) quando não houver espaço suficiente.

  • justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly;

Define como os itens flexíveis são distribuídos ao longo do eixo principal do contêiner. Pode empurrar os itens para o início, final, centro, espaçamento uniforme entre eles, espaçamento ao redor ou até mesmo espaçamento igual.

  • align-items: stretch | flex-start | flex-end | center | baseline;

Controla como os itens flexíveis são alinhados ao longo do eixo transversal do contêiner. Pode esticá-los, alinhá-los no início, no final, no centro ou com base em suas linhas de base.

  • align-self: auto | flex-start | flex-end | center | baseline | stretch;

Similar ao align-items, mas aplicado individualmente a cada item flexível, permitindo um controle específico sobre o alinhamento de cada item dentro do contêiner.

  • order: <integer>;

Especifica a ordem em que os itens flexíveis são exibidos no contêiner. Itens com um valor de order menor são exibidos primeiro.

  • flex-grow: <number>;

Determina a capacidade de um item flexível crescer em relação aos outros itens flexíveis no mesmo contêiner. Um valor maior significa mais crescimento proporcional.

  • flex-shrink: <number>;

Define a capacidade de um item flexível encolher em relação aos outros itens flexíveis no mesmo contêiner. Um valor maior significa mais encolhimento proporcional.

  • flex: none | [ <flex-grow> <flex-shrink>? || <flex-basis> ];

Uma propriedade abreviada que combina flex-grow, flex-shrink e flex-basis em uma única declaração. Essa propriedade é útil para definir de uma vez o comportamento flexível dos itens.

Transformando Sites Comuns em Experiências Mágicas com Flexbox em CSS

Quando você visita um site e tudo flui suavemente, como um rio calmo, isso é graças à experiência fluida de Flexbox em CSS. Os elementos se movem e se ajustam como se estivessem dançando uma coreografia incrível!

/* Estilo base para o contêiner principal */
.container {
 display: flex;
 flex-wrap: wrap; /* Permite que os elementos se movam para a próxima linha quando não houver espaço suficiente */
 justify-content: space-around; /* Distribui os elementos ao redor do contêiner */
 align-items: center; /* Centraliza verticalmente os elementos */
}

/* Estilo para os elementos individuais dentro do contêiner */
.item {
 flex: 0 0 30%; /* Cresce, mas não encolhe, e ocupa inicialmente 30% do espaço disponível */
 margin: 10px; /* Adiciona espaço entre os elementos */
 padding: 20px; /* Adiciona um preenchimento interno para espaço adicional */
 text-align: center; /* Centraliza o texto dentro do elemento */
 background-color: #3498db; /* Cor de fundo azul */
 color: #ffffff; /* Cor do texto branco */
}

Este código cria um layout flexível onde os elementos dentro do contêiner se ajustam automaticamente, proporcionando uma experiência fluida. Os elementos têm uma animação harmoniosa, semelhante a uma coreografia, conforme se adaptam ao tamanho da tela. 

Conclusão

Curtiu esse conteúdo? Ele foi gerado por inteligência artificial, mas foi revisado por alguém 100% humano, e se quiser se conectar comigo me siga no linkedin.

Fontes de produção: 

Ilustrações de capa: gerada pela BingImageCreator

Conteúdo gerado por: ChatGPT e revisões humanas.

#CSS #Flexblox #Frontend

Compartilhe
Comentários (5)
Kelly Cruz
Kelly Cruz - 04/12/2023 10:49

Valeu demais! 👍

Luan Abreu
Luan Abreu - 04/12/2023 10:42

Depois que tu descobre o display flex, tudo fica mais fácil na vida do dev front hahahah

Melquiedes Franco
Melquiedes Franco - 03/12/2023 21:27

Opa! cadê o link do teu Linkedin

HERBERT EMIDIO
HERBERT EMIDIO - 03/12/2023 21:22

Muito Bem!!

Kaio Sousa
Kaio Sousa - 03/12/2023 18:25

👍