Flexbox - Justificando Conteúdo

Freqüentemente, você pode observar um espaço extra deixado no contêiner depois de organizar os itens flexíveis conforme mostrado abaixo.

Usando a propriedade justify-content, você pode alinhar o conteúdo ao longo do eixo principal, distribuindo o espaço extra conforme pretendido. Você também pode ajustar o alinhamento dos flexitems, caso eles ultrapassem a linha.

usage -

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

Esta propriedade aceita os seguintes valores -

  • flex-start - Os flex-items são colocados no início do container.

  • flex-end - Os flex-items são colocados no final do container.

  • center - Os flex items são colocados no centro do contêiner, onde o espaço extra é igualmente distribuído no início e no final dos flex items.

  • space-between - O espaço extra é igualmente distribuído entre os flex-items.

  • space-around - O espaço extra é igualmente distribuído entre os flex items de forma que o espaço entre as bordas do contêiner e seu conteúdo seja a metade do espaço entre os flex items.

Agora, veremos como usar a propriedade justify-content, com exemplos.

flex-start

Ao passar esse valor para o imóvel justify-content, os flex-items são colocados no início do contêiner.

O exemplo a seguir demonstra o resultado da passagem do valor flex-start ao justify-content propriedade.

<!doctype html>
<html lang = "en">
   <style>
      .box1{background:green;}
      .box2{background:blue;}
      .box3{background:red;}
      .box4{background:magenta;}
      .box5{background:yellow;}
      .box6{background:pink;}
      
      .box{
         font-size:35px;
         padding:15px;
      }
      .container{
         display:flex;
         border:3px solid black;
         justify-content:flex-start;
      }
   </style>
   
   <body>
      <div class = "container">
         <div class = "box box1">One</div>
         <div class = "box box2">two</div>
         <div class = "box box3">three</div>
         <div class = "box box4">four</div>
         <div class = "box box5">five</div>
         <div class = "box box6">six</div>
      </div>
   </body>
</html>

Isso produzirá o seguinte resultado -

extremidade flexível

Ao passar esse valor para o imóvel justify-content, os flex-items são colocados no final do contêiner.

O exemplo a seguir demonstra o resultado da passagem do valor flex-end ao justify-content propriedade.

<!doctype html>
<html lang = "en">
   <style>
      .box1{background:green;}
      .box2{background:blue;}
      .box3{background:red;}
      .box4{background:magenta;}
      .box5{background:yellow;}
      .box6{background:pink;}
      
      .box{
         font-size:35px;
         padding:15px;
      }
      .container{
         display:flex;
         border:3px solid black;
         justify-content:flex-end;
      }
   </style>
   
   <body>
      <div class = "container">
         <div class = "box box1">One</div>
         <div class = "box box2">two</div>
         <div class = "box box3">three</div>
         <div class = "box box4">four</div>
         <div class = "box box5">five</div>
         <div class = "box box6">six</div>
      </div>
   </body>
</html>

Isso produzirá o seguinte resultado -

Centro

Ao passar esse valor para o imóvel justify-content, os flex items são colocados no centro do contêiner, onde o espaço extra é igualmente distribuído no início e no final dos flex items.

O exemplo a seguir demonstra o resultado da passagem do valor center ao justify-content propriedade.

<!doctype html>
<html lang = "en">
   <style>
      .box1{background:green;}
      .box2{background:blue;}
      .box3{background:red;}
      .box4{background:magenta;}
      .box5{background:yellow;}
      .box6{background:pink;}
      
      .box{
         font-size:35px;
         padding:15px;
      }
      .container{
         display:flex;
         border:3px solid black;
         justify-content:center;
      }
   </style>
   
   <body>
      <div class = "container">
         <div class = "box box1">One</div>
         <div class = "box box2">two</div>
         <div class = "box box3">three</div>
         <div class = "box box4">four</div>
         <div class = "box box5">five</div>
         <div class = "box box6">six</div>
      </div>
   </body>
</html>

Isso produzirá o seguinte resultado -

espaço entre

Ao passar esse valor para o imóvel justify-content, o espaço extra é igualmente distribuído entre os itens flexíveis de forma que o espaço entre quaisquer dois itens flexíveis seja o mesmo e o início e o final dos itens flexíveis toquem as bordas do contêiner.

O exemplo a seguir demonstra o resultado da passagem do valor space-between ao justify-content propriedade.

<!doctype html>
<html lang = "en">
   <style>
      .box1{background:green;}
      .box2{background:blue;}
      .box3{background:red;}
      .box4{background:magenta;}
      .box5{background:yellow;}
      .box6{background:pink;}
      
      .box{
         font-size:35px;
         padding:15px;
      }
      .container{
         display:flex;
         border:3px solid black;
         justify-content:space-between;
      }
   </style>
   
   <body>
      <div class = "container">
         <div class = "box box1">One</div>
         <div class = "box box2">two</div>
         <div class = "box box3">three</div>
         <div class = "box box4">four</div>
         <div class = "box box5">five</div>
         <div class = "box box6">six</div>
      </div>
   </body>
</html>

Isso produzirá o seguinte resultado -

espaço ao redor

Ao passar esse valor para o imóvel justify-content, o espaço extra é igualmente distribuído entre os flex-items de forma que o espaço entre quaisquer dois flex-items seja o mesmo. No entanto, o espaço entre as bordas do contêiner e seu conteúdo (o início e o fim dos flex items) é a metade do espaço entre os flex items.

O exemplo a seguir demonstra o resultado da passagem do valor space-around ao justify-content propriedade.

<!doctype html>
<html lang = "en">
   <style>
      .box1{background:green;}
      .box2{background:blue;}
      .box3{background:red;}
      .box4{background:magenta;}
      .box5{background:yellow;}
      .box6{background:pink;}
      
      .box{
         font-size:35px;
         padding:15px;
      }
      .container{
         display:flex;
         border:3px solid black;
         justify-content:space-around;
      }
   </style>
   
   <body>
      <div class = "container">
         <div class = "box box1">One</div>
         <div class = "box box2">two</div>
         <div class = "box box3">three</div>
         <div class = "box box4">four</div>
         <div class = "box box5">five</div>
         <div class = "box box6">six</div>
      </div>
   </body>
</html>

Isso produzirá o seguinte resultado -

espaço-uniformemente

Ao passar esse valor para o imóvel justify-content, o espaço extra é igualmente distribuído entre os flex-items de forma que o espaço entre quaisquer dois flex-items seja o mesmo (incluindo o espaço para as bordas).

O exemplo a seguir demonstra o resultado da passagem do valor space-evenly ao justify-content propriedade.

<!doctype html>
<html lang = "en">
   <style>
      .box1{background:green;}
      .box2{background:blue;}
      .box3{background:red;}
      .box4{background:magenta;}
      .box5{background:yellow;}
      .box6{background:pink;}
      
      .box{
         font-size:35px;
         padding:15px;
      }
      .container{
         display:flex;
         border:3px solid black;
         justify-content:space-evenly;
      }
   </style>
   
   <body>
      <div class = "container">
         <div class = "box box1">One</div>
         <div class = "box box2">two</div>
         <div class = "box box3">three</div>
         <div class = "box box4">four</div>
         <div class = "box box5">five</div>
         <div class = "box box6">six</div>
      </div>
   </body>
</html>

Isso produzirá o seguinte resultado -