DevTools unggul saat kita sudah tahu elemen mana yang bermasalah; alat validasi bekerja sebaliknya — menyisir seluruh stylesheet dan melaporkan semua kejanggalan sekaligus, sebelum ada elemen yang terlihat salah. Chapter ini membahas dua lapis pemeriksaan: W3C CSS Validator sebagai pemeriksa sintaks resmi, dan stylelint sebagai pemeriksa gaya penulisan yang dapat berjalan di setiap proyek. Keduanya melengkapi tanda-tanda lokal dari DevTools yang dibahas pada Chapter Invalid CSS , dan melanjutkan pengenalan singkat pada Chapter CSS Validation dan Formatting .
Memeriksa dengan W3C CSS Validator #
Validator W3C memeriksa sintaks terhadap spesifikasi CSS: properti yang tidak dikenal, nilai yang tidak sah, kurung yang tidak seimbang, dan tanda baca yang keliru semuanya dilaporkan dengan nomor baris. Prosedurnya:
- Buka
jigsaw.w3.org/css-validatordi browser. - Pilih cara pemeriksaan: tab By URI untuk file yang sudah daring, tab By file upload untuk berkas lokal, atau tab By direct input untuk menempelkan kode.
- Jalankan pemeriksaan, lalu baca laporannya dari galat (error) terlebih dahulu — peringatan (warning) tentang properti yang dianggap eksperimental boleh ditelaah kemudian.
- Perbaiki satu per satu pada berkas sumber, lalu periksa ulang hingga bersih.
File berikut adalah stylesheet latihan yang dirancang lolos pemeriksaan — unduh, tempelkan ke validator, dan pelajari bentuknya:
/* Stylesheet latihan untuk validator — disusun agar lolos pemeriksaan W3C. */
* {
box-sizing: border-box;
margin: 0;
}
body {
font-family: system-ui, sans-serif;
background-color: rgb(248, 250, 252);
color: rgb(51, 65, 85);
}
.judul {
color: rgb(15, 23, 42);
font-size: 18px;
}
.kartu {
width: 320px;
padding: 16px;
background-color: rgb(255, 255, 255);
border: 1px solid rgb(226, 232, 240);
border-radius: 8px;
}
.badge {
display: inline-block;
padding: 4px 12px;
background-color: rgb(2, 132, 199);
color: rgb(255, 255, 255);
border-radius: 9999px;
font-size: 13px;
}Perhatikan tiga kebiasaan pada file di atas yang membuat validator senang: setiap deklarasi diakhiri titik koma, setiap blok kurung tertutup, dan setiap properti memakai ejaan yang dikenal spesifikasi.
stylelint: Pemeriksa yang Ikut Beserta Proyek #
Validator W3C dijalankan manual; stylelint bekerja di dalam proyek dan bisa dipasang pada setiap commit. Selain kesalahan sintaks, stylelint menegakkan aturan konsistensi yang tidak bisa dinilai validator — misalnya konsistensi urutan properti, larangan warna hex yang tidak konsisten, atau larangan !important. Konfigurasi minimalnya cukup satu file:
{
"extends": "stylelint-config-standard",
"rules": {
"declaration-block-no-duplicate-properties": true,
"color-no-invalid-hex": true
}
}Mari kita telaah pilihannya:
extends: "stylelint-config-standard": mewarisi paket aturan bawaan komunitas — titik awal yang sehat tanpa menulis ratusan aturan sendiri.declaration-block-no-duplicate-properties: menandai properti yang ditulis dua kali dalam satu blok — pola yang sering menyembunyikan kebingungan, bukan niat.color-no-invalid-hex: menangkap hex yang tidak berformat benar, misalnya#ff00zz.
Batas Pemeriksa Otomatis #
Alat validasi punya batas yang perlu dipahami agar hasilnya dibaca dengan benar:
| Batas | Penjelasan |
|---|---|
| Sintaks terbaru tertinggal | Aturan CSS paling baru dapat dilaporkan sebagai galat padahal valid — validator mengejar spesifikasi dengan jeda |
| Valid tetapi keliru makna | Selector sah yang tidak pernah cocok, atau nilai yang sah tetapi bertentangan (misalnya margin: 0 auto pada elemen penuh) tidak dilaporkan |
| Tanpa konteks halaman | Tidak ada yang tahu apakah class tersebut benar-benar dipakai HTML — audit pemakaian tetap pekerjaan kita |
Implikasinya jelas: galat validator layak diperlakukan sebagai daftar tugas, tetapi laporan “tidak ada galat” bukan jaminan stylesheet bekerja. Peringatan pada sintaks modern ditelaah lewat MDN — bila fitur tersebut tercatat Baseline, anggap peringatan itu ketinggalan alat, bukan kesalahan kode.
Hasil di Browser:
Kartu tampil selebar 320px dengan padding 16px dan sudut 8px; judul
kartu berwarna rgb(15, 23, 42) berukuran 18px; badge biru rgb(2, 132,
199) tampil inline-block. Stylesheet demo dan contoh-valid.css memuat
aturan yang identik dan lolos validasi W3C tanpa galat.Dengan stylesheet yang bersih secara sintaks, satu dimensi kualitas tersisa: memastikan tampilan yang benar di berbagai browser, bukan hanya di browser favorit kita — topik chapter penutup Section ini.
Berkas Sumber
Berkas pendukung halaman ini dapat diunduh dan dijalankan langsung sesuai penjelasan di atas.
contoh-valid.css
Unduh berkas/* Stylesheet latihan untuk validator — disusun agar lolos pemeriksaan W3C. */
* {
box-sizing: border-box;
margin: 0;
}
body {
font-family: system-ui, sans-serif;
background-color: rgb(248, 250, 252);
color: rgb(51, 65, 85);
}
.judul {
color: rgb(15, 23, 42);
font-size: 18px;
}
.kartu {
width: 320px;
padding: 16px;
background-color: rgb(255, 255, 255);
border: 1px solid rgb(226, 232, 240);
border-radius: 8px;
}
.badge {
display: inline-block;
padding: 4px 12px;
background-color: rgb(2, 132, 199);
color: rgb(255, 255, 255);
border-radius: 9999px;
font-size: 13px;
}