Domine float e clear: o guia completo de CSS antigo
Flexbox: Domine justify-content, align-items e align-self
Neste tutorial, vamos explorar três propriedadesClasses e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. fundamentais do Flexbox
Fundamentos do Flexbox: display: flex, flex-direction, flex-wrapDescubra como o Flexbox revoluciona seus layouts com display flex, flex-direction e flex-wrap. Aprenda a criar designs responsivos e organizados. que controlam como os itens dentro de um contêiner são alinhados e distribuídos: justify-content, align-items e align-self. Essas propriedades fornecem grande flexibilidade para criar layouts responsivos
Layouts Responsivos com HTML e CSSAprenda a criar layouts responsivos com HTML, CSS e Flexbox. Utilize unidades fluidas e media queries para otimizar sites em todos os dispositivos. e organizados, ajustando o posicionamento dos elementos tanto no eixo principal quanto no eixo transversal.
Introdução🔗
O FlexboxFundamentos do Flexbox: display: flex, flex-direction, flex-wrapDescubra como o Flexbox revoluciona seus layouts com display flex, flex-direction e flex-wrap. Aprenda a criar designs responsivos e organizados. (ou Flexible Box Layout
Fundamentos do Flexbox: display: flex, flex-direction, flex-wrapDescubra como o Flexbox revoluciona seus layouts com display flex, flex-direction e flex-wrap. Aprenda a criar designs responsivos e organizados.) é um modelo de layout unidimensional que facilita a criação de estruturas adaptáveis. Por meio de algumas propriedades
Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. específicas, é possível controlar como os itens se distribuem dentro de um contêiner, o que simplifica bastante o trabalho de alinhamento e disposição espacial dos elementos.
Neste tutorial, focaremos em:
1. justify-content: manipula o alinhamento ao longo do eixo principal (por padrão, o eixo horizontal).
2. align-items: manipula o alinhamento ao longo do eixo transversal (por padrão, o eixo vertical).
3. align-self: permite que um item específico se alinhe de forma independente dos demais no eixo transversal.
Dica: O eixo principal (main axis) é definido pela propriedade flex-direction (que, por padrão, é row
). Já o eixo transversal (cross axis) fica perpendicular ao eixo principal.
Visão Geral🔗
Dentro de um contêiner flex, podemos definir como o espaço é distribuído e como os elementosTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. se alinham, seja ao longo do eixo horizontal (quando
flex-direction
) ou ao longo do eixo vertical (quando Fundamentos do Flexbox: display: flex, flex-direction, flex-wrapDescubra como o Flexbox revoluciona seus layouts com display flex, flex-direction e flex-wrap. Aprenda a criar designs responsivos e organizados.: row
flex-direction
). As propriedadesFundamentos do Flexbox: display: flex, flex-direction, flex-wrapDescubra como o Flexbox revoluciona seus layouts com display flex, flex-direction e flex-wrap. Aprenda a criar designs responsivos e organizados.: column
Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. de alinhamento funcionam da seguinte forma:
- justify-content: usado no contêiner pai para controlar a distribuição dos itens ao longo do eixo principal.
- align-items: usado no contêiner pai para controlar a distribuição dos itens ao longo do eixo transversal.
- align-self: usado diretamente no item para controlar seu alinhamento individual no eixo transversal.
justify-content🔗
A propriedadeClasses e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters.
justify-content
é aplicada no container flexFundamentos do Flexbox: display: flex, flex-direction, flex-wrapDescubra como o Flexbox revoluciona seus layouts com display flex, flex-direction e flex-wrap. Aprenda a criar designs responsivos e organizados. e se responsabiliza pelo alinhamento e pela distribuição de espaço entre os itens no eixo principal. Se o contêiner estiver configurado com
flex-direction
(padrão), o alinhamento será horizontal.Fundamentos do Flexbox: display: flex, flex-direction, flex-wrapDescubra como o Flexbox revoluciona seus layouts com display flex, flex-direction e flex-wrap. Aprenda a criar designs responsivos e organizados.: row
Sintaxe:
.container {
display: flex;
justify-content: <valor>;
}
Valores mais comuns:
Valor | Descrição |
---|---|
flex-start | Alinha todos os itens no início do contêiner (padrão). |
flex-end | Alinha todos os itens no final do contêiner. |
center | Centraliza os itens horizontalmente. |
space-between | Distribui os itens com espaços iguais entre eles, porém sem espaço nas bordas laterais. |
space-around | Distribui os itens com espaços iguais em ambos os lados de cada item. |
space-evenly | Distribui os itens igualmente, incluindo as bordas externas. |
Exemplo de uso
<div class="container">
<div>Item 1</div>
<div>Item 2</div>
<div>Item 3</div>
</div>
.container {
display: flex;
justify-content: space-between; /* Distribui de forma uniforme entre os itens */
background-color: #eee;
padding: 10px;
}
No exemplo acima, os itens serão dispostos horizontalmente, com espaços iguais entre eles, mas sem sobrar espaço nas extremidades.
align-items🔗
A propriedadeClasses e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters.
align-items
também é aplicada no container flexFundamentos do Flexbox: display: flex, flex-direction, flex-wrapDescubra como o Flexbox revoluciona seus layouts com display flex, flex-direction e flex-wrap. Aprenda a criar designs responsivos e organizados., mas controla o alinhamento dos itens no eixo transversal. Novamente, se
flex-direction
, o eixo transversal será vertical.Fundamentos do Flexbox: display: flex, flex-direction, flex-wrapDescubra como o Flexbox revoluciona seus layouts com display flex, flex-direction e flex-wrap. Aprenda a criar designs responsivos e organizados.: row
Sintaxe:
.container {
display: flex;
align-items: <valor>;
}
Valores mais comuns:
Valor | Descrição |
---|---|
stretch | Ajusta a altura dos itens para ocupar todo o espaço vertical disponível (padrão). |
flex-start | Alinha os itens no topo (quando eixo transversal é vertical). |
flex-end | Alinha os itens no final do contêiner verticalmente. |
center | Centraliza os itens verticalmente no contêiner. |
baseline | Alinha os itens de acordo com a linha de base do texto. |
Exemplo de uso
<div class="container">
<div class="item">Item 1</div>
<div class="item">Item 2 com texto mais longo</div>
<div class="item">Item 3</div>
</div>
.container {
display: flex;
align-items: center; /* Centraliza verticalmente */
height: 200px; /* Altura fixa para visualização */
background-color: #ddd;
}
.item {
background-color: #9ec5fa;
padding: 10px;
margin: 5px;
}
Neste caso, cada elementoTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. fica verticalmente centralizado dentro do contêiner com 200px de altura
Seletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos..
align-self🔗
Enquanto align-items
alinha todos os itens ao mesmo tempo, a propriedadeClasses e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters.
align-self
é definida diretamente no item para que ele possa se alinhar de forma diferente dos demais. Isso sobrescreve o alinhamento definido em align-items
.
Sintaxe:
.item-especifico {
align-self: <valor>;
}
Valores mais comuns:
Valor | Descrição |
---|---|
auto | Segue o valor de align-items definido no contêiner (padrão). |
flex-start | Posiciona o item no topo do contêiner (eixo transversal). |
flex-end | Posiciona o item no final do contêiner (eixo transversal). |
center | Centraliza verticalmente. |
baseline | Alinha o item na linha de base. |
stretch | O item estica para preencher todo o espaço disponível (verticalmente, se flex-direction: row ). |
Exemplo de uso
<div class="container">
<div class="item">Item 1</div>
<div class="item destaque">Item 2 (destaque)</div>
<div class="item">Item 3</div>
</div>
.container {
display: flex;
align-items: center; /* Todos centralizados, por padrão */
height: 150px;
background-color: #ddd;
}
.item {
background-color: #9ec5fa;
padding: 10px;
margin: 5px;
width: 100px;
text-align: center;
}
.destaque {
align-self: flex-start; /* Este item específico ficará no topo do contêiner */
}
Observe que o Item 2 se posiciona no topo, enquanto os demais ficam centralizados verticalmente.
Tabela Resumo🔗
Para facilitar a consulta, segue uma tabela simples resumindo as três propriedadesClasses e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters.:
Propriedade | Ação | Alvo |
---|---|---|
justify-content | Alinha/distribui itens no eixo principal | Contêiner (pai) |
align-items | Alinha itens no eixo transversal | Contêiner (pai) |
align-self | Sobrescreve o alinhamento de um item específico | Item individual |
Conclusão🔗
As propriedadesClasses e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. justify-content, align-items e align-self são fundamentais para o controle de alinhamento e distribuição de elementos
Tags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. em um contêiner flex. Elas fornecem grande flexibilidade na hora de criar layouts responsivos
Layouts Responsivos com HTML e CSSAprenda a criar layouts responsivos com HTML, CSS e Flexbox. Utilize unidades fluidas e media queries para otimizar sites em todos os dispositivos., ajustando o posicionamento tanto no eixo principal quanto no eixo transversal.
Dominar essas propriedadesClasses e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. é crucial para desenvolver interfaces mais organizadas, tornando seu código CSS mais limpo, simples e manutenível.
Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.
Referências🔗
- DevDocs provides quick access to CSS documentation, including Flexbox properties for aligning items: devdocs.io/css/
- FreeCodeCamp's Responsive Web Design course covers CSS fundamentals, including Flexbox for layout designs: www.freecodecamp.org/learn/responsive-web-design/#basic-css
- MDN Web Docs provides comprehensive documentation on CSS, including Flexbox properties like justify-content, align-items, and align-self: developer.mozilla.org/pt-BR/docs/Web/CSS
- W3Schools offers tutorials and examples on CSS, including detailed sections on Flexbox and its properties: www.w3schools.com/css/