Flex Grow, Shrink, dan Basis
Kontrol cara item flex membesar, menyusut, dan menetapkan ukuran dasarnya menggunakan singkatan flex.
Flex Grow, Shrink, dan Basis adalah pelajaran CSS Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar CSS Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus CSS Academy mencakup 4 pelajaran total.
Singkatan flex
Singkatan flex pada elemen fleksibel menetapkan tiga nilai: flex-grow, flex-shrink, dan flex-basis.
<div style="display:flex; gap:8px">
<div class="item">flex: 1 1 auto</div>
<div style="width:80px">Fixed 80px</div>
</div>
flex-basis
flex-basis menetapkan ukuran awal elemen fleksibel sebelum elemen tersebut membesar atau menyusut. Properti ini mengesampingkan width (dalam arah baris). auto menggunakan lebar elemen atau ukuran kontennya.
<div style="display:flex; gap:8px">
<div class="sidebar">Sidebar (250px basis)</div>
<div class="main">Main (auto basis)</div>
</div>
flex-grow
flex-grow menentukan seberapa besar elemen membesar dibandingkan elemen sejawat saat ruang kosong tersedia. Nilai 0 berarti tidak membesar. Nilai yang lebih tinggi menerima lebih banyak ruang secara proporsional.
<div style="display:flex; gap:8px">
<div class="main">Main (grow:2)</div>
<div class="aside">Aside (grow:1)</div>
<div class="fixed">Fixed (grow:0)</div>
</div>
Contoh flex-grow
Jika sebuah wadah memiliki ruang kosong sebesar 300px dan dua elemen dengan flex-grow 1 dan 2, elemen pertama mendapatkan tambahan 100px, sedangkan elemen kedua mendapatkan tambahan 200px (rasio 1:2).
flex-shrink
flex-shrink mengendalikan seberapa besar elemen menyusut saat ruang tidak mencukupi. Bawaannya adalah 1 (semua elemen menyusut secara sama). Nilai 0 mencegah penyusutan.
<div style="display:flex; gap:8px">
<div class="logo">Logo</div>
<div class="search">Search input takes remaining space</div>
</div>
Nilai Umum Singkatan flex
Hafalkan pola-pola umum berikut:
flex: 1= membesar dan menyusut secara sama, basis 0%flex: auto= flex: 1 1 autoflex: none= flex: 0 0 auto (kaku)flex: 0 0 200px= 200px tetap, tidak membesar atau menyusut
flex: 1 — Distribusi yang Sama
Menetapkan flex: 1 pada semua anak membagi ruang yang tersedia secara sama rata. Basisnya menjadi 0%, sehingga elemen membesar dari ukuran nol dan membagi ruang secara proporsional.
<div class="equal-columns" style="display:flex; gap:8px">
<div class="col">Column A</div>
<div class="col">Column B</div>
<div class="col">Column C</div>
</div>
flex-basis dibandingkan width
flex-basis lebih diutamakan daripada width dalam arah sumbu utama. Jika Anda menetapkan keduanya, flex-basis yang berlaku (kecuali flex-basis adalah auto, yang kemudian menggunakan width).
Ukuran Intrinsik dan Ekstrinsik
Saat flex-basis: 0 (seperti pada flex: 1), elemen dimulai dari 0 dan membesar secara proporsional—distribusi yang benar-benar proporsional. Dengan flex-basis: auto, elemen dimulai dari ukuran konten alaminya, lalu membesar.
Pola Tiga Serangkai
Tata letak klasik dengan panel samping tetap + konten utama fleksibel + panel samping tetap:
<div class="layout">
<div class="left-sidebar">Left</div>
<div class="main-content">Main</div>
<div class="right-sidebar">Right</div>
</div>
min-width dan max-width dengan flex
Gunakan min-width dan max-width bersama flex-grow untuk mengendalikan batas pembesaran:
<div style="display:flex; gap:8px">
<div class="card">Responsive Card</div>
</div>
Pemeriksaan Singkat
Sebuah elemen memiliki flex: 0 0 200px. Apa artinya?
Ringkasan
flex-grow mendistribusikan ruang tambahan secara proporsional. flex-shrink mengendalikan cara elemen menyusut. flex-basis menetapkan ukuran awal. Singkatan flex: 1 mengaktifkan distribusi ruang yang sama. Gunakan flex: 0 0 Xpx untuk elemen berukuran tetap dan flex: 1 untuk elemen fleksibel dalam wadah yang sama.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Flex Grow, Shrink, dan Basis” gratis?
Ya — teks lengkap “Flex Grow, Shrink, dan Basis” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus CSS Academy, upgrade ke CoddyKit PRO. Kursus CSS Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Flex Grow, Shrink, dan Basis”?
Kontrol cara item flex membesar, menyusut, dan menetapkan ukuran dasarnya menggunakan singkatan flex. Kamu berlatih CSS Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai CSS Academy?
Tidak diperlukan pengalaman sebelumnya. CSS Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Flex Grow, Shrink, dan Basis” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran CSS Academy ini?
Ya. Setiap pelajaran CSS Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Display Flex dan Arah Flex
- Justify-Content dan Align-Items
- Flex Wrap dan Align-Content
- Flex Grow, Shrink, dan Basis