Flexbox - Обоснование содержания

Часто вы можете заметить лишнее пространство, оставшееся в контейнере после размещения гибких элементов, как показано ниже.

Использование свойства justify-content, вы можете выровнять содержимое по главной оси, распределив дополнительное пространство должным образом. Вы также можете настроить выравнивание элементов гибкости на случай, если они выходят за пределы линии.

usage -

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

Это свойство принимает следующие значения -

  • flex-start - Элементы гибкости помещаются в начало контейнера.

  • flex-end - Элементы гибкости помещаются в конец контейнера.

  • center - Гибкие элементы размещаются в центре контейнера, где дополнительное пространство равномерно распределяется в начале и в конце гибких элементов.

  • space-between - Дополнительное пространство равномерно распределяется между flex-элементами.

  • space-around - Дополнительное пространство равномерно распределяется между гибкими элементами, так что пространство между краями контейнера и его содержимым составляет половину пространства между гибкими элементами.

Теперь посмотрим, как использовать свойство justify-content, на примерах.

гибкий старт

При передаче этого значения в свойство justify-content, гибкие элементы помещаются в начало контейнера.

В следующем примере демонстрируется результат передачи значения flex-start к justify-content свойство.

<!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>

Это даст следующий результат -

гибкий конец

При передаче этого значения в свойство justify-content, гибкие элементы помещаются в конец контейнера.

В следующем примере демонстрируется результат передачи значения flex-end к justify-content свойство.

<!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>

Это даст следующий результат -

центр

При передаче этого значения в свойство justify-content, гибкие элементы размещаются в центре контейнера, где дополнительное пространство равномерно распределяется в начале и в конце гибких элементов.

В следующем примере демонстрируется результат передачи значения center к justify-content свойство.

<!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>

Это даст следующий результат -

пространство между

При передаче этого значения в свойство justify-content, дополнительное пространство равномерно распределяется между гибкими элементами, так что пространство между любыми двумя гибкими элементами является одинаковым, а начало и конец гибких элементов касаются краев контейнера.

В следующем примере демонстрируется результат передачи значения space-between к justify-content свойство.

<!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>

Это даст следующий результат -

пространство вокруг

При передаче этого значения в свойство justify-content, дополнительное пространство равномерно распределяется между гибкими элементами, так что пространство между любыми двумя гибкими элементами одинаково. Однако расстояние между краями контейнера и его содержимым (начало и конец гибких элементов) составляет половину пространства между гибкими элементами.

В следующем примере демонстрируется результат передачи значения space-around к justify-content свойство.

<!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>

Это даст следующий результат -

пространство-равномерно

При передаче этого значения в свойство justify-content, дополнительное пространство равномерно распределяется между гибкими элементами, так что пространство между любыми двумя гибкими элементами одинаково (включая пространство до краев).

В следующем примере демонстрируется результат передачи значения space-evenly к justify-content свойство.

<!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>

Это даст следующий результат -