Flexbox - Tính linh hoạt

cơ sở linh hoạt

Chúng tôi sử dụng flex-basis để xác định kích thước mặc định của flex-item trước khi phân phối không gian.

Ví dụ sau minh họa cách sử dụng thuộc tính flex-base. Ở đây chúng tôi đang tạo 3 hộp màu và sửa kích thước của chúng thành 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>

Nó sẽ tạo ra kết quả sau:

uốn cong

Chúng tôi sử dụng flex-grow tài sản để thiết lập flex-growhệ số. Trong trường hợp dư thừa không gian trong vùng chứa, nó chỉ định mức độ phát triển của một mục linh hoạt cụ thể.

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

Nó sẽ tạo ra kết quả sau:

uốn cong

Chúng tôi sử dụng thuộc tính uốn cong được sử dụng để thiết lập độ uốn shrink-factor. Trong trường hợp không có đủ không gian trong thùng chứa, nó sẽ chỉ định mức độ linh hoạt của mục sẽ co lại.

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

Nó sẽ tạo ra kết quả sau:

uốn dẻo

Có một cách viết tắt để đặt giá trị cho tất cả ba thuộc tính này cùng một lúc; nó được gọi làflex. Sử dụng thuộc tính này, bạn có thể đặt các giá trị thành các giá trị flex-grow, flex-co và flex-base cùng một lúc. Đây là cú pháp của thuộc tính này.

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