Belajar CSS Dasar #12: Unit Ukuran (px, %, em, rem, vw, vh)


👍 0 ❤️ 0 💡 0 🔥 0 🙌 0 🥳 0
Belajar CSS Dasar #12: Unit Ukuran (px, %, em, rem, vw, vh)

Halo teman-teman semuanya, setelah sebelumnya kita belajar tentang pseudo-class dan pseudo-element, kali ini kita akan membahas topik penting lainnya dalam CSS, yaitu unit ukuran.

Dalam CSS, kita tidak hanya menentukan apa yang ingin diatur (seperti width, padding, font-size), tetapi juga berapa besar ukurannya, dan ini ditentukan menggunakan satuan seperti px, %, em, rem, vw, vh, dan lain-lain.

Memahami cara kerja setiap unit akan sangat membantu kita membuat layout yang fleksibel, responsif, dan konsisten.

1. px (pixel)

Satuan tetap berbasis piksel. Sangat umum digunakan, terutama untuk ukuran presisi.

div {
  width: 200px;
  font-size: 16px;
}
  • Kelebihan: stabil dan mudah dikontrol.
  • Kekurangan: tidak fleksibel untuk responsif.

2. % (persen)

Satuan relatif terhadap elemen induknya.

div {
  width: 50%; /* 50% dari elemen induk */
}

  • Kelebihan: fleksibel dalam layout responsif.
  • Catatan: konteks penting — height: 100% bisa jadi tidak terlihat jika elemen induk tidak memiliki tinggi.

3. em

Satuan relatif terhadap ukuran font dari elemen induk.

p {
  font-size: 1.5em; /* 1.5 kali ukuran font induk */
}
  • Kelebihan: bagus untuk scalable typography.

  • Kekurangan: bisa tumpang tindih (nested) jika tidak hati-hati.

4. rem (root em)

Mirip dengan em, tapi ukuran selalu berdasarkan elemen root (<html>).

html {
  font-size: 16px;
}

p {
  font-size: 2rem; /* 32px */
}
  • Kelebihan: konsisten, tidak terpengaruh nesting.
  • Rekomendasi: banyak digunakan untuk font-size, padding, dan margin.

5. vw (viewport width) & vh (viewport height)

Relatif terhadap ukuran layar pengguna.

  • 1vw = 1% dari lebar layar
  • 1vh = 1% dari tinggi layar
.hero {
  width: 100vw;
  height: 100vh;
}

Kelebihan: cocok untuk desain full-screen, seperti header, landing page, atau splash section.

Perbandingan Singkat

Unit Relatif ke Cocok untuk
px Nilai tetap (piksel) Presisi, ikon, border
% Elemen induk Layout responsif
em Font-size elemen induk Teks bertingkat
rem Font-size elemen root Teks konsisten
vw Lebar layar (viewport) Layout full-width
vh Tinggi layar (viewport) Hero section, full-page

Contoh Lengkap

Contoh berikut menampilkan penggunaan berbagai unit ukuran dalam satu halaman.

<!DOCTYPE html>
<html lang="id">
<head>
  <meta charset="UTF-8">
  <title>Unit Ukuran CSS</title>
  <style>
    html {
      font-size: 16px;
    }

    .kotak-px {
      width: 200px;
      height: 100px;
      background-color: lightblue;
      margin-bottom: 10px;
    }

    .kotak-persen {
      width: 50%;
      height: 100px;
      background-color: lightgreen;
      margin-bottom: 10px;
    }

    .kotak-em {
      font-size: 1.5em;
      padding: 1em;
      background-color: salmon;
      margin-bottom: 10px;
    }

    .kotak-rem {
      font-size: 2rem;
      padding: 1rem;
      background-color: gold;
      margin-bottom: 10px;
    }

    .kotak-viewport {
      width: 100vw;
      height: 20vh;
      background-color: orchid;
      margin-bottom: 10px;
    }
  </style>
</head>
<body>

  <div class="kotak-px">Kotak dengan px</div>
  <div class="kotak-persen">Kotak dengan % (50% lebar)</div>
  <div class="kotak-em">Kotak dengan em (relatif induk)</div>
  <div class="kotak-rem">Kotak dengan rem (relatif root)</div>
  <div class="kotak-viewport">Kotak dengan vw dan vh</div>

</body>
</html>

Halaman ini memiliki lima kotak dengan satuan yang berbeda-beda. Masing-masing kotak menampilkan efek ukuran berdasarkan px, %, em, rem, dan vw/vh, sehingga kita bisa membandingkan fleksibilitas dan hasil tampilan.

Kesimpulan

CSS menyediakan berbagai unit ukuran yang bisa disesuaikan dengan kebutuhan layout dan desain. Unit seperti px cocok untuk presisi, sedangkan em dan rem cocok untuk teks yang skalabel. vw dan vh sangat berguna untuk membuat elemen yang menyesuaikan layar.

Terima Kasih


CSS
Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami