204 of 313 menu

Thuộc tính flex-grow

Thuộc tính flex-grow xác định mức độ một khối flex riêng lẻ có thể lớn hơn các phần tử lân cận nếu cần thiết.

Ví dụ, nếu tất cả các khối flex bên trong container flex có flex-grow:1, thì chúng sẽ có cùng kích thước. Nếu một trong số chúng có flex-grow:2, thì nó sẽ lớn gấp 2 lần so với tất cả phần còn lại.

Nếu tổng chiều rộng của các phần tử nhỏ hơn chiều rộng của phần tử cha, nên sẽ còn không gian trống ở bên phải. Nếu muốn, không gian trống này có thể được chia tỷ lệ giữa các phần tử của chúng ta. Điều này được thực hiện bằng thuộc tính flex-grow, được đặt cho các phần tử flex. Giá trị của thuộc tính này là một số không có đơn vị.

Áp dụng cho: một khối flex cụ thể.

Thuộc tính này là một phần của thuộc tính viết tắt flex.

Cú pháp

bộ chọn { flex-grow: số dương; }

Giá trị mặc định: 0.

Ví dụ

Hiện tại chúng ta có hai khối flex với chiều rộng 100px. Tổng chiều rộng của chúng là 200px, còn chiều rộng của phần tử cha là 300px. Kết quả là còn không gian trống 100px.

Nếu các phần tử không được đặt flex-grow, thì chúng ta sẽ chỉ thấy không gian trống này. Nếu nó được đặt, thì chiều rộng thực tế của các phần tử sẽ lớn hơn giá trị đã đặt - chúng sẽ chia tỷ lệ không gian trống với nhau và thêm nó vào chiều rộng của mình.

Ví dụ, phần tử thứ nhất có flex-grow bằng 1, còn phần tử thứ hai - 3. Hãy tính toán xem mỗi phần tử sẽ nhận được bao nhiêu phần không gian trống.

Đầu tiên cần lấy tổng số đơn vị flex-grow của tất cả các phần tử của chúng ta. Phần tử thứ nhất có giá trị là 1, và phần tử thứ hai - 3. Điều này có nghĩa là tổng của chúng bằng 4.

Bây giờ chia 100px không gian trống cho 4 và ta được 25px cho một đơn vị flex-grow. Kết quả là, phần tử thứ nhất sẽ được thêm một đơn vị flex-grow, tức là 25px, còn phần tử thứ hai - ba đơn vị, tức là 75px.

Chiều rộng của phần tử thứ nhất sẽ là 125px, còn phần tử thứ hai - 175px:

<div class="parent"> <div class="child elem1">1</div> <div class="child elem2">2</div> </div> .parent { display: flex; width: 300px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 100px; flex-grow: 1; } .elem2 { width: 100px; flex-grow: 3; }

:

Ví dụ

Bây giờ giả sử chiều rộng của phần tử cha là 400px, chiều rộng của phần tử thứ nhất là 200px, còn chiều rộng của phần tử thứ hai là 100px. Kết quả là, không gian trống lại bằng 100px.

Hãy đặt flex-grow cho mỗi phần tử, bằng 1. Tổng sẽ là 2, tức là 100px không gian trống cần chia cho 2. Kết quả là, 50px cho một đơn vị tính tham lam.

Vì tất cả các phần tử có cùng giá trị flex-grow, nên tất cả các phần tử sẽ được thêm cùng một giá trị là 50px. Điều này có nghĩa là, phần tử thứ nhất sẽ trở thành 250px, và phần tử thứ hai sẽ trở thành 150px:

<div class="parent"> <div class="child elem1">1</div> <div class="child elem2">2</div> </div> .parent { display: flex; width: 400px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 200px; flex-grow: 1; } .elem2 { width: 100px; flex-grow: 1; }

:

Ví dụ

Giả sử lại chiều rộng của phần tử cha là 400px, chiều rộng của phần tử thứ nhất là 200px, còn chiều rộng của phần tử thứ hai là 100px.

Bây giờ hãy đặt cho phần tử thứ nhất flex-grow có giá trị 3, còn phần tử thứ hai - giá trị 1. Kết quả là tổng tính tham lam bằng 4. Khi đó một đơn vị tính tham lam bằng 100px / 4 = 25px.

Phần tử thứ nhất sẽ được thêm 75px, và nó sẽ trở thành 275px, còn phần tử thứ hai - 25px, nó sẽ trở thành 125px:

<div class="parent"> <div class="child elem1">1</div> <div class="child elem2">2</div> </div> .parent { display: flex; width: 400px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 200px; flex-grow: 3; } .elem2 { width: 100px; flex-grow: 1; }

:

Xem thêm

  • thuộc tính flex-direction,
    thiết lập hướng của các trục cho các khối flex
  • thuộc tính justify-content,
    thiết lập căn chỉnh dọc theo trục chính
  • thuộc tính align-items,
    thiết lập căn chỉnh dọc theo trục phụ
  • thuộc tính flex-wrap,
    thiết lập tính đa dòng cho các khối flex
  • thuộc tính flex-flow,
    viết tắt cho flex-direction và flex-wrap
  • thuộc tính order,
    thiết lập thứ tự của các khối flex
  • thuộc tính align-self,
    thiết lập căn chỉnh cho một khối cụ thể
  • thuộc tính flex-basis,
    thiết lập kích thước cho một khối flex cụ thể
  • thuộc tính flex-shrink,
    thiết lập khả năng co lại của các khối flex
  • thuộc tính flex,
    viết tắt cho flex-grow, flex-shrink và flex-basis
Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối