- 1. px (pixel)
- 2. % (persen)
- 3. em
- 4. rem (root em)
- 5. vw (viewport width) & vh (viewport height)
- Perbandingan Singkat
- Contoh Lengkap
- Kesimpulan
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 layar1vh= 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, danvw/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
Artikel ini dibaca sebanyak 2.410 kali
{ setTimeout(() => { showShimmer = false; }, 300); })"
:class="{'opacity-0': !loaded, 'opacity-100': loaded}"
class="lazy w-full h-auto rounded-xl border border-white dark:border-neutral-700/80 transition-opacity duration-500"
loading="lazy"
/>
SAWERIA
Memuat komentar...