Saat sebuah elemen “tidak seperti yang ditulis”, pertanyaan pertama yang perlu dijawab bukan siapa yang menang di cascade, melainkan berapa nilai akhir yang benar-benar dipakai browser. Panel Computed menjawab pertanyaan itu: seluruh properti — termasuk yang tidak pernah kita tulis — tampil dengan nilai akhirnya setelah cascade, inheritance, dan perhitungan unit selesai. Perbedaan declared value, computed value, dan used value telah diuraikan tuntas pada Chapter Membaca Computed Styles ; Chapter ini memfokuskan sisi kerjanya: bagaimana panel ini dipakai berpasangan dengan panel Styles untuk memangkas waktu debugging.
Alur Kerja di Panel Computed #
Pilih elemen yang bermasalah, lalu buka tab Computed. Alur yang bisa diulang untuk hampir semua keluhan nilai:
- Ketik di kotak filter: mengetik
widthmenyaring ratusan properti menjadi segelintir baris relevan — jauh lebih cepat daripada menggulir daftar alfabetis. - Baca nilai akhirnya: nilai yang tampil adalah hasil akhir, bukan yang kita tulis;
50%tampil sebagai piksel,1.5emtampil sebagai piksel. - Aktifkan Show all bila perlu: secara bawaan panel hanya menampilkan properti yang nilainya “disetel” secara eksplisit; kotak ini memperlihatkan seluruh properti, termasuk bawaan browser.
- Perluas tanda panah pada nilai: panel menampilkan daftar aturan yang menetapkan nilai tersebut, diurutkan sesuai kekuatan cascade — pemenang di atas, yang kalah tercoret.
- Naik ke panel Styles: bila perlu menelusuri berkas sumbernya, klik entri tersebut untuk melompat ke aturannya di panel Styles.
Langkah keempat adalah bantuan terbesar: panel Computed tidak berhenti pada “berapa”, tetapi juga menjawab “dari mana”. Untuk properti yang diwariskan seperti color, entri menunjukkan rantai induknya — asal nilai yang tidak tertulis di elemen itu sendiri.
Membaca Konversi pada Demo #
Demo chapter ini menyusun rantai tiga tingkat dengan unit yang berbeda di setiap tingkat:
<div class="bapak">
<div class="anak">
<span class="cucu">Teks cucu.</span>
</div>
</div>.bapak { width: 400px; font-size: 16px; color: rgb(15, 23, 42); }
.anak { width: 50%; font-size: 1.5em; line-height: 1.5; }
.cucu { font-size: 1.5em; }Mari kita telaah apa yang dilihat panel Computed pada setiap elemen:
.bapak: semua nilai yang ditulis sudah absolut, sehingga panel menampilkannya apa adanya —width400px,font-size16px,colorrgb(15, 23, 42)..anakpadawidth: 50%: persen diselesaikan saat layout terhadap lebar induk, jadi panel menampilkan 200px — bukan 50%..anakpadafont-size: 1.5em: em mengacu pada font-size induk, jadi 1,5 × 16px = 24px..anakpadaline-height: 1.5: angka tanpa satuan dikalikan font-size elemen sendiri, jadi 1,5 × 24px = 36px..cucupadafont-size: 1.5em: induk langsungnya.anak, jadi 1,5 × 24px = 36px — dan warna teksnya ikut mewarisi rgb(15, 23, 42) dari.bapaktanpa satu pun deklarasi warna.
Hasil di Browser:
Panel Computed menampilkan bapak dengan width 400px, font-size 16px,
dan color rgb(15, 23, 42). Anak ditulis 50%, 1.5em, dan 1.5, tetapi
terbaca 200px, 24px, dan line-height 36px. Cucu terbaca font-size 36px
karena 1.5em dihitung dari 24px milik anak. Seluruh angka pada laporan
Hasil di Browser ini diperiksa otomatis oleh harness melalui atribut
data-expected.Dengan nilai akhir dan sumbernya dapat ditelusuri, sisa pertanyaan debugging yang paling sering menyangkut geometri — di mana kotak ini berada, seberapa besar tiap lapisannya. Alat pemeriksaan visualnya menjadi topik chapter berikutnya.