Back to blog
Frontend

Kenapa z-index CSS Tidak Berfungsi? Ini Rahasia Stacking Context

Kamu sudah mengatur z-index menjadi 99999, tapi elemenmu tetap tertimpa elemen lain? Ada satu syarat mutlak CSS yang kamu lupakan.

super admin·16 Juni 2026·2 min read
Kenapa z-index CSS Tidak Berfungsi? Ini Rahasia Stacking Context
Article Content

Misteri Angka 99999 yang Gagal

Ini adalah kejadian menjengkelkan yang dialami 100% *Frontend Developer* di seluruh dunia. Kamu membuat Navbar yang seharusnya selalu berada di atas (paling depan) menimpa gambar konten di bawahnya. Kamu memberinya CSS z-index: 99999;, tapi ajaibnya, gambarnya malah tetap berada di atas Navbar-mu! Apa yang salah?

Masalahnya bukan pada angkanya. Ada dua aturan emas z-index yang kemungkinan besar kamu langgar.

Aturan 1: Z-Index Butuh Position!

Ini adalah kesalahan paling mendasar. Properti z-index TIDAK AKAN BEKERJA jika elemen tersebut memiliki posisi bawaan (position: static).

Solusi: Agar z-index aktif, kamu WAJIB menambahkan salah satu dari properti position ini ke elemenmu:

  • position: relative;
  • position: absolute;
  • position: fixed;
  • position: sticky;

Coba tambahkan position: relative; bersamaan dengan z-index: 10; pada elemen yang ingin kamu tampilkan di atas. Dijamin langsung bekerja!

Aturan 2: Terjebak di Stacking Context (Hierarki Tumpukan)

Bagaimana jika kamu sudah menambahkan position, angkanya sudah sangat besar, tapi masih kalah dari elemen lain yang z-index-nya cuma 1? Berarti kamu terjebak dalam Stacking Context.

Bayangkan dua buah kotak bekal (Box A dan Box B). Di dalam Box A ada apel (z-index: 999). Di dalam Box B ada jeruk (z-index: 1). Jika Box B sengaja diletakkan di atas Box A, maka si Jeruk akan SELALU menutupi si Apel, berapapun besarnya z-index si Apel.

Kenapa? Karena z-index hanya berlaku di dalam ruang lingkup induk yang sama. Angka 999 milik Apel hanya membuatnya menjadi raja di dalam Box A. Dia tidak bisa menembus keluar untuk melawan Jeruk di Box B.

Bagaimana Solusinya?

Jika kamu mengalami masalah Stacking Context ini, percuma kamu menaikkan z-index elemen anaknya. Kamu harus naik satu level ke elemen Induknya (Container-nya).

Periksa elemen yang membungkus (Parent) elemenmu tersebut, lalu pastikan z-index si Induk A lebih tinggi daripada z-index si Induk B. Dengan mengatur level tumpukan di level induk, komponen di dalamnya akan otomatis mengikuti aturan tumpukan yang benar.

Mau langsung pakai template?

Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.

Browse Templates