Typography — CSS

Coba liat dua menu warung: yang satu pake font Comic Sans warna pelangi, satunya lagi pake font Helvetica rapi hitam-putih. Mana yang berasa lebih…

Tipografi adalah urusan rupa huruf: jenis font, ukuran, ketebalan, dan jarak antarbaris. Di CSS, semuanya diatur lewat properti yang namanya diawali font-, ditambah line-height.

🧪 Tebakan cepat: kamu menulis nama font yang gak terpasang di perangkat pengunjung. Teksnya hilang gak? Tebak dulu, jawabannya ada di bagian "Font cadangan".

Mengatur huruf paragraf

p {
  font-family: Georgia, serif;
  font-size: 20px;
  font-weight: 400;
}

Hasilnya, paragraf berhuruf Georgia, 20 piksel, dengan ketebalan biasa.

Font cadangan

font-family boleh berisi beberapa nama, dipisah koma. Browser memakai yang pertama terpasang di perangkat pengunjung. Akhiri daftarnya dengan keluarga umum: serif (huruf berkait, kayak koran), sans-serif (tanpa kait), atau monospace (semua huruf sama lebar, kayak di editor kode). Nama font yang ada spasinya ditulis dalam tanda kutip: "Times New Roman".

Jawaban tebakan: gak hilang. Browser pindah ke nama berikutnya di daftar, dan kalau semuanya gak ada, ke font bawaannya.

Satu nama saja juga sah, misalnya font-family: Arial;.

Jarak antarbaris dengan line-height

line-height mengatur tinggi tiap baris. Angka tanpa satuan artinya kali ukuran huruf: dengan font-size: 18px, line-height: 1.6 bikin tiap baris setinggi 18 kali 1.6, yaitu 28.8 piksel. Paragraf panjang nyaman dibaca di sekitar 1.5 sampai 1.6.

Satuan ukuran: px, em, rem

Pengguna yang menaikkan ukuran huruf di setelan browser gak terbantu kalau semua ukuran dikunci dalam px, karena teksnya gak ikut membesar. rem ikut setelan itu, jadi pakai rem buat ukuran huruf di proyek nyata. Latihan di sini memakai px biar angkanya gampang dicek.

⚠️ Jebakan yang sering ketemu

TL;DR: font-family memilih jenis huruf (tulis cadangannya, akhiri dengan serif, sans-serif, atau monospace), font-size ukurannya (32px, angka nempel satuan), font-weight ketebalannya (bold sama dengan 700), dan line-height jarak antarbarisnya (angka tanpa satuan, sekitar 1.5). rem dihitung dari <html>, em dari induknya, dan rem paling ramah buat pengguna yang memperbesar huruf.

Yang akan kamu pelajari