- Bab 5 dari 11
- 35 menit
- 1 latihan kode
- 4 soal kuis
Auto Layout dan Resizing
Di bab ini (7 bagian)
Tujuan bab ini
- Menjelaskan kenapa Auto Layout menjadi fitur terpenting untuk desain UI modern.
- Mengatur arah, gap, padding, dan alignment pada Auto Layout, termasuk Auto Layout bersarang.
- Memilih mode resizing Hug, Fixed, atau Fill container sesuai jenis elemen.
- Menerjemahkan Auto Layout ke CSS flexbox.
Masalah yang diselesaikan Auto Layout
Bayangkan kamu membuat tombol bertuliskan "Simpan" secara manual: sebuah rectangle, lalu teks di atasnya, diposisikan di tengah dengan tangan. Kemudian tim memutuskan teksnya diganti menjadi "Simpan perubahan". Teks memanjang dan keluar dari rectangle. Kamu harus melebarkan rectangle, menengahkan teks lagi, lalu mengulanginya di setiap layar yang memakai tombol itu.
Auto Layout menghapus pekerjaan berulang itu. Dengan Auto Layout, frame tahu cara menyusun isinya sendiri. Isi bertambah, container ikut menyesuaikan, dan jarak tetap konsisten. Karena itulah Auto Layout disebut fitur paling penting untuk desain UI modern.
Menambahkan Auto Layout
Pilih sebuah frame atau beberapa objek, lalu tekan Shift + A. Figma membungkus atau mengubah frame itu menjadi frame Auto Layout. Setelah itu, empat pengaturan utama muncul di panel kanan.
| Pengaturan | Arti |
|---|---|
| Arah | Horizontal, vertikal, wrap, atau grid |
| Gap dan padding | Gap adalah jarak antaritem, padding adalah ruang dalam container |
| Alignment | Posisi item: atas, tengah, bawah, kiri, kanan |
| Nested | Auto Layout di dalam Auto Layout untuk layout kompleks |
Contoh dari deck: sebuah frame dengan arah horizontal, padding 16, dan gap 12. Setiap item berjarak 12 dari item berikutnya, dan semua item berjarak 16 dari tepi frame.
Auto Layout bersarang
Layout yang kompleks hampir selalu dibangun dari Auto Layout bersarang. Contohnya sebuah kartu produk:
- Kartu: Auto Layout vertikal, padding 16, gap 12.
- Gambar produk.
- Baris judul dan harga: Auto Layout horizontal, gap 8.
- Baris tombol: Auto Layout horizontal, gap 8.
Setiap tingkat hanya mengurus satu arah. Cara berpikir ini sama persis dengan cara developer menyusun halaman dengan flexbox.
Resizing: Hug, Fixed, dan Fill
Setiap elemen di dalam Auto Layout punya mode resizing yang menentukan bagaimana ukurannya bereaksi.
| Mode | Perilaku | Cocok untuk |
|---|---|---|
| Hug contents | Ukuran mengikuti isi | Tombol, chip, badge |
| Fixed | Ukuran tetap, isi tidak memengaruhi | Ikon dan avatar, misalnya 48 × 48 |
| Fill container | Mengisi ruang yang tersisa di parent | Input dan kartu |
Kombinasi yang paling sering kamu temui adalah tombol dengan Hug dan kartu dengan Fill container. Tombol "Simpan" yang memakai Hug akan melebar sendiri saat teksnya menjadi "Simpan perubahan". Kartu yang memakai Fill container akan melebar mengikuti layar.
Auto Layout adalah flexbox
Bagi developer web, Auto Layout hampir satu lawan satu dengan CSS flexbox. Tabel berikut adalah kamus penerjemahnya.
| Figma | CSS |
|---|---|
| Auto Layout | display: flex |
| Arah horizontal | flex-direction: row |
| Arah vertikal | flex-direction: column |
| Wrap | flex-wrap: wrap |
| Gap 12 | gap: 12px |
| Padding 16 | padding: 16px |
| Alignment tengah | align-items: center |
| Hug contents | Lebar mengikuti isi, misalnya display: inline-flex |
| Fixed 48 × 48 | width: 48px; height: 48px; flex-shrink: 0 |
| Fill container | flex: 1 |
Contoh kerja: baris profil
Kita terjemahkan sebuah baris profil: avatar 48 × 48 (Fixed), nama yang mengisi sisa ruang (Fill container), dan tombol "Ikuti" (Hug). Baris memakai Auto Layout horizontal, padding 16, gap 12, alignment tengah.
Perhatikan flex-shrink: 0 pada avatar. Tanpa itu, saat ruang sempit browser bisa mengecilkan avatar, padahal di Figma avatar itu Fixed. Detail kecil seperti ini adalah contoh kenapa designer dan developer perlu memakai istilah yang sama.
Demo yang patut dicoba di Figma
Buat tombol dengan Auto Layout horizontal, lalu ketik teks yang lebih panjang di dalamnya. Frame tombol akan ikut melebar karena mode resizing-nya Hug. Lalu ubah mode menjadi Fixed dan ketik lagi. Sekarang teks bisa terpotong atau membungkus, karena ukuran frame tidak lagi mengikuti isi. Eksperimen kecil ini membuat perbedaan ketiga mode langsung terasa.
Wrap dan grid
Selain horizontal dan vertikal, arah Auto Layout bisa diatur menjadi wrap atau grid. Wrap membuat item turun ke baris berikutnya saat ruang habis, cocok untuk deretan chip kategori atau tag. Di CSS, perilaku ini setara dengan flex-wrap: wrap. Arah grid menyusun item dalam baris dan kolom sekaligus, mirip CSS Grid yang kamu lihat di bab layout grid.
Kesalahan umum
- Menggeser item manual di dalam Auto Layout. Posisi diatur oleh arah, gap, dan alignment. Kalau kamu ingin jarak berbeda, ubah gap atau padding, bukan menyeret item.
- Memberi jarak dengan rectangle kosong. Pakai gap. Rectangle pengganjal membuat layout sulit dirawat.
- Memakai Fixed untuk tombol. Tombol yang Fixed tidak menyesuaikan saat teksnya berubah atau diterjemahkan ke bahasa lain.
- Satu Auto Layout untuk semuanya. Layout kompleks lebih mudah dibangun dari beberapa Auto Layout bersarang yang masing-masing mengurus satu arah.
Rangkuman
- Auto Layout (Shift + A) membuat frame menyusun isinya sendiri sehingga container menyesuaikan saat isi bertambah.
- Pengaturan utamanya adalah arah, gap, padding, alignment, dan Auto Layout bisa bersarang.
- Hug contents mengikuti isi, Fixed berukuran tetap, Fill container mengisi sisa ruang di parent.
- Kombinasi paling umum adalah tombol Hug dan kartu Fill container.
- Auto Layout setara dengan CSS flexbox: gap menjadi
gap, padding menjadipadding, Fill menjadiflex: 1.
Slide 19 sampai 21 dari deck Menguasai Figma: Desain UI/UX dari Dasar hingga Handoff. Penjelasan lengkapnya ada di mode Baca.

Selesaikan bab ini
- 1. Baca materi
- 2. Latihan kode (1)
- 3. Kuis (4 soal)
Latihan kode: Baris profil: Auto Layout menjadi flexbox
Terjemahkan spesifikasi Auto Layout berikut ke CSS.
.baris: Auto Layout horizontal, alignment tengah, gap 12, padding 16..avatar: Fixed 48 × 48, tidak boleh mengecil (flex-shrink: 0)..nama: Fill container (flex: 1)..tombol: Hug contents dengan padding 12 atas bawah dan 24 kiri kanan.
Cek pemahaman
1Shortcut untuk menambahkan Auto Layout adalah
2Mode resizing yang cocok untuk tombol agar ukurannya mengikuti teks adalah
3Fill container membuat elemen mengisi ruang yang tersisa di parent.
4Pengaturan Auto Layout apa yang ditulis CSS ini?
.baris { display: flex; flex-direction: column; gap: 12px; padding: 16px; }