HÃY CẨN THẬN
Trong một số trình duyệt:
flex:1;
không bằngflex:1 1 0;
flex:1;
= flex:1 1 0n;
(với n là đơn vị độ dài).
- flex-grow: Một con số chỉ định mục sẽ tăng bao nhiêu so với phần còn lại của các mục linh hoạt.
- flex-co Một số chỉ định mục sẽ co lại bao nhiêu so với phần còn lại của các mục linh hoạt
- flex-base Chiều dài của mục. Giá trị pháp lý: "auto", "inherit" hoặc một số theo sau là "%", "px", "em" hoặc bất kỳ đơn vị độ dài nào khác.
Điểm mấu chốt ở đây là cơ sở linh hoạt yêu cầu một đơn vị độ dài .
Trong Chrome chẳng hạn flex:1
và flex:1 1 0
tạo ra các kết quả khác nhau. Trong hầu hết các trường hợp, nó có vẻ flex:1 1 0;
đang hoạt động nhưng hãy kiểm tra xem điều gì thực sự xảy ra:
THÍ DỤ
Cơ sở uốn dẻo bị bỏ qua và chỉ áp dụng uốn phát triển và thu nhỏ uốn.
flex:1 1 0;
= flex:1 1;
=flex:1;
Điều này thoạt nhìn có vẻ ổn tuy nhiên nếu đơn vị được áp dụng của vùng chứa được lồng vào nhau; sẵn sàng cho những chuyện bất ngờ!
Hãy thử ví dụ này trong CHROME
.Wrap{
padding:10px;
background: #333;
}
.Flex110x, .Flex1, .Flex110, .Wrap {
display: -webkit-flex;
display: flex;
-webkit-flex-direction: column;
flex-direction: column;
}
.Flex110 {
-webkit-flex: 1 1 0;
flex: 1 1 0;
}
.Flex1 {
-webkit-flex: 1;
flex: 1;
}
.Flex110x{
-webkit-flex: 1 1 0%;
flex: 1 1 0%;
}
FLEX 1 1 0
<div class="Wrap">
<div class="Flex110">
<input type="submit" name="test1" value="TEST 1">
</div>
</div>
FLEX 1
<div class="Wrap">
<div class="Flex1">
<input type="submit" name="test2" value="TEST 2">
</div>
</div>
FLEX 1 1 0%
<div class="Wrap">
<div class="Flex110x">
<input type="submit" name="test3" value="TEST 3">
</div>
</div>
TƯƠNG THÍCH
Cần lưu ý rằng điều này không thành công vì một số trình duyệt đã không tuân thủ đặc điểm kỹ thuật .
Các trình duyệt sử dụng đặc tả linh hoạt đầy đủ:
- Firefox - ✓
- Edge - ✓ (Tôi biết, tôi cũng bị sốc.)
- Chrome - x
- Dũng cảm - x
- Opera - x
- IE - (lol, nó hoạt động mà không có đơn vị độ dài nhưng không hoạt động với một đơn vị.)
CẬP NHẬT 2019
Các phiên bản mới nhất của Chrome dường như cuối cùng đã khắc phục được vấn đề này nhưng các trình duyệt khác vẫn chưa khắc phục được.
Đã thử nghiệm và hoạt động trong Chrome Ver 74.