Menu

Ukuran Font CSS: px, rem, em, Kata Kunci, dan Contoh

Properti font-size mengatur seberapa besar teks. Pelajari satuan yang diterimanya (px, rem, em, %, kata kunci, vw), cara mengubah ukuran font di HTML, kenapa rem adalah default yang aman, dan bagaimana ukuran em berlipat ganda.

Halaman ini dilengkapi editor yang bisa dijalankan. Edit, jalankan, dan lihat output-nya seketika.

Cara mengatur ukuran font di CSS

Properti font-size mengatur ukuran teks. Taruh di elemen mana saja, dan setiap teks di dalamnya mewarisi ukuran itu, kecuali anaknya mengatur ukurannya sendiri.

Untuk mengubah ukuran font di HTML, kamu tetap memakai CSS. Tambahkan atribut style (<p style="font-size: 20px;">) atau aturan di stylesheet. Tag <font size="5"> dari tahun 1990-an sudah usang dan tidak punya tempat di halaman modern.

Satuan yang diterima font-size

NilaiContohRelatif terhadap
px16pxTidak ada: ukuran tetap
rem1.25remUkuran font elemen root <html> (16px secara default)
em1.2emUkuran font elemen induk
%120%Ukuran font induk, seperti em (120% sama dengan 1.2em)
Kata kuncilargeSkala yang sudah ditentukan di sekitar medium default
Kata kunci relatifsmaller, largerSatu tingkat dari ukuran induk
Viewport4vwLebar viewport (4% dari lebarnya)
Fungsiclamp(1rem, 4vw, 2rem)Fluid di antara batas minimum dan maksimum

Ketik sebuah nilai dan lihat ukuran yang dihitung browser:

Coba 20px, 2em, 150%, x-large, smaller, dan 5vw. Nilai yang tidak valid, seperti big, diabaikan dan teksnya tetap memakai ukuran valid terakhir.

rem vs em: perbedaan yang sering menjebak

rem selalu melihat elemen root, jadi 1.2rem berukuran sama di mana pun ia muncul. em melihat induknya, jadi ukurannya berlipat saat elemen bersarang:

Kotak em paling dalam berukuran 16 × 1.2 × 1.2 × 1.2 = 27.648px. Kotak rem paling dalam tetap 19.2px. Efek berlipat ganda itu berguna untuk komponen yang bagian-bagiannya harus berubah skala bersama, dan mengejutkan di tempat lain. Halaman satuan membandingkan setiap satuan panjang.

Kata kunci: xx-small sampai xx-large

Kata kunci absolut dipetakan ke skala tetap di sekitar medium, yang sama dengan ukuran default pengguna (16px kecuali mereka mengubahnya):

Dengan default 16px, small adalah 13px, large 18px, x-large 24px, dan xx-large 32px. Kata kunci cocok untuk pekerjaan cepat, tetapi sebuah design system biasanya ingin skalanya sendiri dalam rem.

Ukuran font fluid dengan clamp()

Judul yang harus membesar mengikuti layar tetapi tidak pernah terlalu kecil atau terlalu besar cukup ditulis dengan satu panggilan clamp(): minimum, ukuran yang diinginkan yang berubah skala, dan maksimum.

Di pratinjau selebar 800px, 5vw sama dengan 40px, yang berada di antara 24px dan 48px, jadi nilai itulah yang dipakai. Halaman clamp membahas tipografi fluid secara mendalam.

Mengatur ukuran dasar untuk seluruh halaman

Atur ukurannya sekali di body (atau html) dan atur ukuran lain relatif terhadapnya:

html { font-size: 100%; }  /* respects the user's setting, usually 16px */
body { font-size: 1rem; }
h1   { font-size: 2.25rem; }
small, .caption { font-size: 0.875rem; }

Hindari trik html { font-size: 62.5%; } kecuali setiap ukuran di halaman kemudian diatur dalam rem, dan jangan pernah mengatur ukuran px tetap pada html: ukuran itu menimpa ukuran font yang dipilih pembaca di browser-nya, yang bagi sebagian orang adalah satu-satunya cara agar bisa membaca.

Catatan aksesibilitas

  • Teks isi berukuran 16px atau lebih adalah batas bawah yang baik untuk membaca di layar.
  • Ukuran dalam rem dan em mengikuti pengaturan font default pengguna. Ukuran dalam px mengikuti zoom halaman, tetapi tidak mengikuti pengaturan itu.
  • Di iPhone, Safari memperbesar halaman saat kamu memfokuskan input yang ukuran font-nya di bawah 16px. Beri field form font-size: 1rem atau lebih untuk menghindarinya.

Kesalahan umum

  • Memakai tag <font>. Tag ini sudah usang. Pakai properti font-size.
  • Ukuran em bersarang yang membesar atau mengecil tak terkendali. Pakai rem kecuali kamu memang ingin efek berlipat.
  • Ukuran px tetap pada html. Ukuran itu menimpa pengaturan font milik pembaca.
  • Lupa bahwa heading sudah punya ukuran. <h1> secara default berukuran 2em, jadi h1 { font-size: 1em; } diperlukan jika kamu ingin ukurannya sama dengan teks isi.
  • Hanya memakai satuan viewport. font-size: 3vw menjadi tidak terbaca di ponsel dan raksasa di monitor lebar. Bungkus dengan clamp().

Pertanyaan yang sering diajukan

Bagaimana cara mengubah ukuran font di CSS?

Atur properti font-size pada elemen: p { font-size: 18px; }. Properti ini menerima panjang (px, rem, em), persentase, dan kata kunci seperti large.

Bagaimana cara mengubah ukuran font di HTML?

Dengan CSS, baik di stylesheet maupun di atribut style: <p style="font-size: 20px;">. Tag lama <font size="5"> sudah usang di HTML5 dan sebaiknya tidak dipakai.

Berapa ukuran font default di browser?

16px untuk teks isi, kecuali pengguna mengubahnya di pengaturan browser. Nilai itulah yang secara default setara dengan 1rem dan kata kunci medium.

Sebaiknya pakai px, em, atau rem untuk ukuran font?

Pakai rem untuk sebagian besar teks: ukurannya mengikuti pengaturan font di browser pengguna dan tidak berlipat ganda. Pakai em saat sebuah ukuran harus mengikuti induknya, seperti ikon di dalam tombol. px tidak mengikuti ukuran font default yang diatur pembaca di browser, jadi hindari untuk teks isi.

Kenapa ukuran font em saya terus membesar?

Karena em relatif terhadap ukuran font induk, jadi elemen yang bersarang saling mengalikan: 1.2em di dalam 1.2em sama dengan 1.44 kali ukuran dasar. Beralihlah ke rem, yang selalu relatif terhadap elemen root.

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai