Flexbox - 靈活



flex-basis

在分配空間之前,我們使用 flex-basis 屬性定義子 flex 的預設大小。

以下示例演示 flex-basis 屬性的用法。此處,我們建立 3 個彩色方塊,並將其大小固定為 150 px。

<!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-grow 因子。如果有額外的容器空間,它將指定特定的子 flex 應增長多少。

<!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-shrink 屬性用於設定 flex shrink 因子。如果容器中沒有足夠的空間,它會指定子 flex 應縮小多少。

<!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。透過使用該屬性,你可以一次性為 flex-grow、flex-shrink 和 flex-basis 值設定值。以下是此屬性的語法。

.item {
   flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}
廣告
© . All rights reserved.