- Bab 4 dari 11
- 30 menit
- 1 latihan kode
- 4 soal kuis
Warna, Constraints, dan Layout Grid
Di bab ini (8 bagian)
Tujuan bab ini
- Mengatur fill, stroke, dan effects, serta memeriksa kontras teks sesuai WCAG AA.
- Memahami cara constraints menjaga posisi objek saat frame berubah ukuran.
- Memakai layout grid untuk desktop, tablet, dan mobile, lalu menerjemahkannya ke CSS.
Dari tampilan statis ke tampilan yang siap berubah ukuran
Desain yang bagus di satu ukuran layar belum tentu bagus di ukuran lain. Ponsel, tablet, dan laptop punya lebar yang berbeda, dan pengguna bisa memutar layar kapan saja. Bab ini membahas dua hal: bagaimana memberi warna dan efek dengan benar, lalu bagaimana memastikan objek tetap di tempat yang tepat saat ukuran frame berubah.
Warna, stroke, dan efek
Panel kanan punya tiga bagian yang mengatur tampilan visual sebuah objek.
Fill
Fill adalah isi warna objek. Jenisnya:
- Solid: satu warna, misalnya
#7C5CFF. - Gradient: linear, radial, angular, dan diamond.
- Image: gambar sebagai isi.
- Shader: jenis fill baru di 2026.
Contoh palet yang dipakai di kelas ini: #7C5CFF (ungu), #FF6B5B (merah koral), #1FCB8F (hijau), #2FA8FF (biru), #FFB020 (kuning), dan #E15AB8 (merah muda).
Stroke
Stroke adalah garis tepi. Kamu bisa mengatur posisinya inside, center, atau outside, mengatur tebal per sisi, dan membuat garis putus-putus. Posisi stroke berpengaruh pada ukuran akhir. Stroke inside tidak menambah ukuran objek, sedangkan stroke outside membuat objek tampak lebih besar. Di CSS, perilaku ini mirip perbedaan box-sizing dan outline.
Effects
Effects menambahkan kedalaman: drop shadow, inner shadow, layer blur, background blur, serta noise dan texture. Pakai secukupnya. Satu bayangan halus pada kartu biasanya lebih baik daripada tiga bayangan tebal yang bertumpuk.
Kontras teks
Warna yang cantik belum tentu terbaca. Aturan yang perlu kamu ingat: teks normal minimal punya kontras 4.5:1 terhadap latarnya, sesuai standar WCAG AA. Teks abu-abu muda di atas latar putih sering gagal memenuhi angka ini. Pengguna dengan penglihatan kurang baik, atau siapa saja yang membaca di bawah terik matahari, akan kesulitan.
Kebiasaan yang baik: setiap kali memilih warna teks, periksa kontrasnya. Di bab plugin nanti kamu akan bertemu alat seperti Stark yang membantu pemeriksaan ini.
Constraints
Constraints menentukan bagaimana sebuah objek bereaksi saat frame induknya diubah ukurannya.
Contoh dari deck: sebuah tombol diberi constraint Right dan Bottom. Saat frame dilebarkan atau ditinggikan, tombol tetap menempel di pojok kanan bawah. Tanpa constraint itu (default-nya Left dan Top), tombol akan tertinggal di posisi lamanya dan terlihat melayang di tengah setelah frame melebar.
Opsi constraint horizontal adalah Left, Right, Left & Right, Center, dan Scale. Opsi vertikal serupa untuk Top dan Bottom.
| Constraint | Perilaku saat frame melebar |
|---|---|
| Left | Jarak ke kiri tetap |
| Right | Jarak ke kanan tetap |
| Left & Right | Jarak kiri dan kanan tetap, objek ikut melebar |
| Center | Tetap di tengah |
| Scale | Ukuran dan posisi berubah sebanding |
Padanan di CSS
Constraints sangat mirip dengan position: absolute di CSS. Constraint Right dan Bottom sama dengan menempelkan elemen memakai right dan bottom di dalam induk yang position: relative.
Constraint Left & Right setara dengan memberi left dan right sekaligus, sehingga lebar elemen mengikuti lebar induk.
Layout grid
Layout grid adalah garis bantu yang membagi frame menjadi kolom atau baris. Grid membuat posisi elemen di berbagai layar terasa teratur.
Contoh dari deck untuk desktop: 12 kolom, gutter 24, margin 80. Gutter adalah jarak antarkolom, margin adalah jarak dari tepi frame ke kolom pertama. Jumlah kolom yang umum:
| Perangkat | Jumlah kolom |
|---|---|
| Desktop | 12 |
| Tablet | 8 |
| Mobile | 4 |
Tipe grid di Figma ada tiga: Columns, Rows, dan Grid.
Padanan di CSS
Layout grid Figma bisa diterjemahkan ke CSS Grid. Gutter menjadi gap, margin menjadi padding di kiri dan kanan.
Dengan begitu, designer dan developer berbicara dalam bahasa yang sama: "kartu ini menempati 4 dari 12 kolom" punya arti yang jelas di kedua sisi.
Contoh kerja: kartu promo yang responsif
Misalkan kamu membuat banner promo di frame desktop:
- Beri frame layout grid 12 kolom, gutter 24, margin 80.
- Letakkan judul di kolom 1 sampai 6 dengan constraint Left.
- Letakkan tombol "Lihat promo" di pojok kanan bawah dengan constraint Right dan Bottom.
- Ubah lebar frame. Judul tetap di kiri, tombol tetap di kanan bawah.
- Periksa kontras teks putih di atas latar
#7C5CFF. Hasilnya sekitar 4.3:1, sedikit di bawah 4.5:1. Solusinya, pakai ungu yang sedikit lebih gelap untuk latar teks normal, atau besarkan teksnya.
Langkah 4 adalah cara tercepat menguji constraints. Biasakan menarik tepi frame setelah selesai menyusun, sebelum menyerahkan desain.
Kesalahan umum
- Memilih warna teks hanya karena cantik, tanpa memeriksa kontras minimal 4.5:1.
- Membiarkan constraint default Left dan Top untuk elemen yang seharusnya menempel di kanan atau bawah.
- Memakai Group untuk elemen yang butuh constraints. Constraints bekerja pada anak dari Frame.
- Membuat grid berbeda-beda di setiap layar sehingga posisi elemen tidak konsisten.
Rangkuman
- Fill bisa berupa solid, gradient (linear, radial, angular, diamond), image, dan shader.
- Stroke bisa inside, center, atau outside, sedangkan effects meliputi shadow, blur, serta noise dan texture.
- Teks normal butuh kontras minimal 4.5:1 terhadap latar menurut WCAG AA.
- Constraints menentukan posisi objek saat frame di-resize, mirip
position: absolutedenganrightdanbottomdi CSS. - Layout grid umum: 12 kolom desktop, 8 kolom tablet, 4 kolom mobile, dan bisa diterjemahkan ke CSS Grid dengan
gapdanpadding.
Slide 17 sampai 18 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: Constraints dan layout grid di CSS
Terjemahkan dua pengaturan Figma ini ke CSS.
- Constraints: tombol
.tombol-aksidiberi constraint Right dan Bottom dengan jarak 16 dari tepi frame.layar. Jadikan.layarposition: relativedan tombolnyaposition: absolutedenganrightdanbottom16px. - Layout grid:
.halamanmemakai grid desktop 12 kolom, gutter 24, margin 80. Pakaidisplay: grid,grid-template-columns: repeat(12, 1fr),column-gap24px, sertapaddingkiri dan kanan 80px.
Cek pemahaman
1Berapa kontras minimal teks normal terhadap latarnya menurut WCAG AA?
2Tombol diberi constraint Right dan Bottom. Apa yang terjadi saat frame dilebarkan?
3Layout grid yang umum untuk mobile adalah 12 kolom.
4Constraint Figma apa yang paling mirip dengan CSS ini?
.tombol { position: absolute; right: 16px; bottom: 16px; }