Учебники

Flexbox — Гибкость

Мы используем свойство flex- based, чтобы определить размер элемента flex по умолчанию до распределения пространства.

В следующем примере демонстрируется использование свойства flex-based. Здесь мы создаем 3 цветные коробки и фиксируем их размер до 150 пикселей.

Live Demo

<!doctype html>
<html lang = "en">
   <style>
      .box{
         font-size:15px;
         padding:15px;
      }
      .box1{background:green; flex-basis:150px; }
      .box2{background:blue; flex-basis:150px;}
      .box3{background:red; flex-basis:150px;}
      
      .container{
         display:flex;
         height:100vh;
         align-items: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>
   </body>
</html>

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

сгибать вырастали

Мы используем свойство flex-grow для установки коэффициента flex-grow . В случае избыточного пространства в контейнере, он указывает, сколько должен вырастить конкретный flex-элемент.

Live Demo

<!doctype html>
<html lang = "en">
   <style>
      .box{
         font-size:15px;
         padding:15px;
      }
      .box1{background:green; flex-grow:10; flex-basis:100px; }
      .box2{background:blue; flex-grow:1; flex-basis:100px; }
      .box3{background:red; flex-grow:1; flex-basis:100px; }
      
      .container{
         display:flex;
         height:100vh;
         align-items: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>
   </body>
</html>

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

сгибать термоусадочные

Мы используем свойство flex-shrink, используемое для установки коэффициента сжатия flex. Если в контейнере недостаточно места, он указывает, насколько должен сжиматься flex-элемент.

Live Demo

<!doctype html>
<html lang = "en">
   <style>
      .box{
         font-size:15px;
         padding:15px;
      }
      .box1{background:green; flex-basis:200px; flex-shrink:10}
      .box2{background:blue; flex-basis:200px; flex-shrink:1}
      .box3{background:red; flex-basis:200px; flex-shrink:1}
      
      .container{
         display:flex;
         height:100vh;
         align-items: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>
   </body>
</html>

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

сгибать

Существует условное обозначение для установки значений для всех этих трех свойств одновременно; это называется flex . Используя это свойство, вы можете одновременно устанавливать значения flex-grow, flex-shrink и flex-based. Вот синтаксис этого свойства.