Pertemuan 4 — Responsive Design dengan Tailwind CSS
Pertanyaan Pemantik
Renungkan dan diskusikan:
- Kenapa tampilan website di HP dan laptop tidak bisa disamakan?
- Apa masalah yang muncul jika website desktop dipaksa tampil sama di layar kecil?
- Menurutmu, kapan sebuah elemen perlu disembunyikan di mobile?
Pengantar Singkat
Responsive design adalah cara membuat tampilan website menyesuaikan ukuran layar.
Di Tailwind, responsive dibuat dengan prefix breakpoint, seperti:
sm:→ small (tablet / HP besar)md:→ medium (laptop)lg:→ large (desktop besar)
Prinsip penting:
Mobile dulu, lalu diperbesar ke layar lebih besar.
1. Breakpoint Dasar (sm, md, lg)
Contoh Responsive Text
<h1 class="text-xl md:text-2xl lg:text-4xl font-bold">
Judul Responsive
</h1>
Penjelasan:
- HP → text-xl
- Laptop → md:text-2xl
- Desktop besar → lg:text-4xl
Praktik
- Ubah ukuran teks di HP, laptop, dan desktop
- Bandingkan tampilannya saat layar di-resize
2. Responsive Spacing
<div class="p-4 md:p-8 lg:p-12 bg-slate-100">
Box dengan padding berbeda tiap ukuran layar
</div>
Praktik
- Ubah padding di tiap breakpoint
- Tentukan padding yang paling nyaman untuk mobile
3. Card Section (Mobile → Desktop)
Struktur Dasar
<section class="bg-slate-100 p-6">
<div class="mx-auto max-w-5xl">
<h2 class="text-xl font-bold">Produk Kami</h2>
<div class="mt-4 flex flex-col gap-4 md:flex-row">
<div class="flex-1 rounded-xl bg-white p-4 shadow">
<h3 class="font-semibold">Sabun Herbal</h3>
<p class="text-slate-600">Aroma segar alami</p>
</div>
<div class="flex-1 rounded-xl bg-white p-4 shadow">
<h3 class="font-semibold">Sabun Kopi</h3>
<p class="text-slate-600">Mengangkat sel kulit mati</p>
</div>
<div class="flex-1 rounded-xl bg-white p-4 shadow">
<h3 class="font-semibold">Sabun Susu</h3>
<p class="text-slate-600">Lembut untuk kulit sensitif</p>
</div>
</div>
</div>
</section>
Penjelasan:
- Mobile → card tersusun vertikal
- md:flex-row → card sejajar horizontal di laptop
Praktik
- Tambahkan 1 card lagi
- Atur jarak agar tidak terlalu rapat di mobile
- Pastikan tampilan rapi di laptop
4. Menu Responsive (Mobile vs Laptop)
Struktur Dasar Menu
<nav class="bg-white p-4 shadow">
<div class="mx-auto flex max-w-5xl items-center justify-between">
<div class="text-xl font-bold">Toko Sabun</div>
<ul class="hidden gap-6 md:flex">
<li>Home</li>
<li>Produk</li>
<li>Kontak</li>
</ul>
<button class="md:hidden">
☰
</button>
</div>
</nav>
Penjelasan:
- Mobile → tombol menu (☰) tampil
- Laptop → menu list tampil
- hidden dan md:flex mengatur visibilitas
Praktik
- Ubah teks tombol menu menjadi ikon atau teks lain
- Ubah jarak antar menu di laptop
- Ganti warna background menu
Tugas
Tugas Praktik 1 — Card Responsive
Buat section card produk dengan aturan:
- Mobile → card vertikal
- Laptop → card horizontal
- Gunakan sm, md, atau lg
Kriteria: - Spacing nyaman di mobile - Tampilan rapi di laptop
Tugas Praktik 2 — Menu Responsive
Buat menu responsive:
- Mobile → hanya logo + tombol menu
- Laptop → logo + menu lengkap
- Gunakan hidden, flex, dan breakpoint
Tugas Praktik 3 — Mini Landing Section
Gabungkan: - 1 menu responsive - 1 section card responsive
Pastikan: - Tidak ada scroll horizontal - Tampilan rapi di HP & laptop
Ringkasan
- Responsive Tailwind menggunakan prefix
sm,md,lg - Layout mobile disusun terlebih dahulu
- Card dan menu adalah contoh kasus responsive paling umum
- Praktik langsung membantu memahami responsive lebih cepat