cssresponsifstudi-kasusMenengah6 mnt baca

Studi Kasus: Landing Responsif

Menggabungkan semua teknik responsif: hero, fitur grid, dan footer dalam satu halaman.

Target

Landing page sederhana yang sempurna di HP, tablet, dan desktop memakai semua teknik modul ini: mobile-first, clamp(), auto-fit, dan satu breakpoint.

Struktur HTML

html
<header class="hero">
  <h1>Belajar CSS Menyenangkan</h1>
  <p>Dari nol sampai bisa bikin website responsif.</p>
  <a class="cta" href="#">Mulai Belajar</a>
</header>

<section class="fitur">
  <div class="kartu-fitur">...</div>
  <div class="kartu-fitur">...</div>
  <div class="kartu-fitur">...</div>
</section>

<footer>...</footer>

Hero: tipografi mengalir + mobile-first

css
/* Dasar HP */
.hero {
  text-align: center;
  padding: 48px 20px;
}

.hero h1 {
  font-size: clamp(2rem, 8vw, 4rem);
  line-height: 1.05;
  margin: 0 0 16px;
}

.hero p {
  font-size: clamp(1rem, 3vw, 1.25rem);
  color: #475569;
  max-width: 60ch;
  margin: 0 auto 24px;
}

.cta {
  display: inline-block;
  background: #38bdf8;
  color: white;
  padding: 14px 32px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
}

/* Desktop: hero lebih lega */
@media (min-width: 768px) {
  .hero {
    padding: 96px 24px;
  }
}

Satu breakpoint saja. Judul mengalir via clamp, tidak perlu breakpoint font.

Fitur: grid tanpa breakpoint

css
.fitur {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  padding: 24px;
  max-width: 1100px;
  margin: 0 auto;
}

.kartu-fitur {
  background: white;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 28px;
  text-align: center;
}

Grid auto-fit menangani semua ukuran: 1 kolom di HP, 3 di desktop. Nol media query untuk bagian ini.

Daftar periksa responsif

Sebelum bilang "selesai", cek:

  1. Tidak ada scroll horizontal di 360px (penyebab umum: gambar tanpa max-width, atau vw tanpa perhitungan).
  2. Tombol cukup besar disentuh (minimal 44px tinggi di mobile).
  3. Teks terbaca: minimal 16px untuk body (mencegah zoom otomatis iOS pada input), baris tidak terlalu panjang.
  4. Uji di 360px, 768px, 1280px: tiga titik ini menangkap mayoritas masalah.
css
/* Pola tombol ramah jempol */
.cta {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  padding: 12px 32px;
}

Catatan teknis: iOS Safari otomatis zoom saat input font-size di bawah 16px. Selalu set input minimal 16px di mobile untuk menghindari zoom yang mengganggu.

Tips profesional

  • Checklist rilis responsif: 360px tanpa scroll horizontal, tombol >= 44px, teks >= 16px, gambar tidak gepeng, uji 3 lebar.
  • Screenshot tiap breakpoint dan simpan di dokumentasi project sebagai bukti uji.
  • Responsif bukan hanya lebar: uji juga mode landscape HP dan zoom 200% untuk aksesibilitas.

Pola siap salin: section landing responsif

css
.section {
  padding: clamp(48px, 8vw, 96px) 24px;
}

.section .wadah {
  width: min(1100px, 100%);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: clamp(16px, 3vw, 32px);
}

Setiap section landing: padding mengalir, wadah terbatas, grid otomatis. Tanpa media query sama sekali.

Rangkuman

Landing responsif = mobile-first + clamp() untuk teks + auto-fit untuk grid + sedikit breakpoint untuk sentuhan akhir. Uji di tiga lebar dan cek daftar periksa.

Live Playground
export default function App(): JSX.Element {
  return <h1>Hello world</h1>
}

Edit kode di kiri, preview kanan ter-update otomatis.

Tantangan

Audit Responsif

Menggabungkan semua teknik responsif dalam satu halaman adalah ujian sesungguhnya. Lakukan audit profesional.

Di playground:

  1. Uji di tiga lebar: 360px, 768px, 1280px (sempitkan/lebarkan preview). Catat di komentar masalah yang kamu temukan, jika ada.
  2. Sengaja rusak: hapus max-width: 1100px dari .fitur dan amati di desktop lebar. Kembalikan.
  3. Tambahkan footer sederhana yang tetap rapi di semua ukuran, lalu jelaskan di komentar teknik responsif apa saja yang dipakai halaman ini.
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="styles.css" />
</head>
<body>
<h1>Halo CSS</h1>
<p>Edit styles.css dan lihat hasilnya.</p>
</body>
</html>

Kuis Bab

Uji pemahamanmu: Desain Responsif

Jawab 5 soal berikut, lalu tekan "Periksa Jawaban".

1.Tanpa apa media query max-width tidak akan bekerja benar di HP?

2.Pola mobile-first memakai?

3.clamp(1rem, 2.5vw, 1.5rem) pada font-size berarti?

4.Aturan CSS apa yang mencegah gambar meluber keluar wadah di HP?

5.Apa beda container query dengan media query?