HATI-HATI
Di beberapa browser:
flex:1;
tidak samaflex:1 1 0;
flex:1;
= flex:1 1 0n;
(di mana n adalah satuan panjang).
- flex-grow: Angka yang menentukan seberapa banyak item akan berkembang dibandingkan dengan item fleksibel lainnya.
- flex-shrink Angka yang menentukan seberapa besar item akan menyusut relatif terhadap item fleksibel lainnya
- flex-basis Panjang item. Nilai hukum: "auto", "inherit", atau angka yang diikuti dengan "%", "px", "em" atau satuan panjang lainnya.
Poin kuncinya di sini adalah bahwa flex-basis membutuhkan satuan panjang .
Di Chrome misalnya flex:1
dan flex:1 1 0
menghasilkan hasil yang berbeda. Dalam kebanyakan keadaan, ini mungkin tampak flex:1 1 0;
berfungsi tetapi mari kita periksa apa yang sebenarnya terjadi:
CONTOH
Basis fleksibel diabaikan dan hanya flex-grow dan flex-shrink yang diterapkan.
flex:1 1 0;
= flex:1 1;
=flex:1;
Sekilas ini mungkin tampak baik-baik saja, namun jika unit yang diterapkan dari wadah bersarang; mengharapkan yang tak terduga!
Coba contoh ini di 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>
KESESUAIAN
Perlu dicatat bahwa ini gagal karena beberapa browser gagal mematuhi spesifikasi .
Browser yang menggunakan spesifikasi full flex:
- Firefox - ✓
- Edge - ✓ (Saya tahu, saya juga terkejut.)
- Chrome - x
- Berani - x
- Opera - x
- IE - (lol, ini berfungsi tanpa satuan panjang tetapi tidak dengan satuan panjang.)
PEMBARUAN 2019
Versi terbaru Chrome tampaknya akhirnya memperbaiki masalah ini tetapi browser lain masih belum.
Diuji dan berfungsi di Chrome Ver 74.