Flexbox-柔軟性

フレックスベース

私たちは使用します flex-basis スペースが分散される前のフレックスアイテムのデフォルトサイズを定義するプロパティ。

次の例は、flex-basisプロパティの使用法を示しています。ここでは、3つの色付きのボックスを作成し、それらのサイズを150ピクセルに固定しています。

<!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因子。コンテナ内に余分なスペースがある場合は、特定のフレックスアイテムをどれだけ大きくするかを指定します。

<!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プロパティを使用します shrink-factor。コンテナに十分なスペースがない場合は、フレックスアイテムをどれだけ縮小するかを指定します。

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

次の結果が得られます-

フレックス

これら3つのプロパティすべてに一度に値を設定するための省略形があります。いわゆるflex。このプロパティを使用すると、flex-grow、flex-shrink、およびflex-basisの値に一度に値を設定できます。このプロパティの構文は次のとおりです。

.item {
   flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}