Lompat ke konten utama
←

CSS Tata Letak dan Responsif

Pelajaran 16 dari 20

Posisi, variabel, dan gerak

z-index dan konteks penumpukan

Setelah pelajaran ini kamu bisa menjelaskan mengapa z-index besar kalah dari elemen lain, mengenali pemicu konteks penumpukan, dan memperbaiki urutan tumpukan di tingkat yang benar.

  • ±14 menit
  • 3 latihan
  • Diperiksa 28 Sep 2026

Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya

Materi

Pelajaran posisi menyebut bahwa angka z-index hanya dibandingkan di dalam konteks penumpukan yang sama. Pelajaran ini membahas apa itu konteks penumpukan, apa saja yang membentuknya, dan cara memperbaiki menu yang tertutup elemen lain meski z-index-nya besar.

Konteks penumpukan adalah kelompok elemen yang ditumpuk bersama. Di dalam kelompok itu, anak-anak diurutkan dengan z-index masing-masing; dari luar, seluruh kelompok diperlakukan sebagai satu lapisan dan diurutkan dengan z-index induknya. Akibatnya, anak dengan z-index 9999 tetap berada di bawah elemen lain bila induknya kalah urutan.

MDN mendaftar banyak pemicunya. Yang paling sering ditemui: elemen html itu sendiri; elemen position relative atau absolute dengan z-index selain auto; elemen fixed dan sticky; item flex atau grid dengan z-index selain auto; opacity di bawah 1; transform selain none; dan isolation: isolate.

.kepala {
  position: relative;
  z-index: 2;
}

.kartu {
  position: relative;
  z-index: 1;
}

.kartu .tooltip {
  position: absolute;
  z-index: 100; /* tetap di bawah .kepala */
}

Pada contoh di atas, tooltip ber-z-index 100 hidup di dalam konteks milik .kartu. Konteks itu bernilai 1 sedangkan .kepala bernilai 2, jadi tooltip tetap tertutup kepala. Menaikkan angka tooltip tidak menolong; yang harus diubah adalah urutan .kartu terhadap .kepala, atau letak tooltip di HTML.

Properti isolation: isolate membentuk konteks baru tanpa mengubah posisi apa pun. Properti ini dipasang pada sebuah komponen supaya angka z-index di dalamnya tidak bersaing dengan bagian halaman lain.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 1 dari 3

Menu (z-index: 50) berada di dalam .kartu yang diberi position: relative dan z-index: 1. Elemen .spanduk di luar kartu diberi position: relative dan z-index: 2, dan menutupi menu. Perubahan mana yang membuat menu tampil di atas spanduk?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Lanjutkan ke

Tampilkan 1 lagi

Sebagian materi kelas ini diadaptasi dari Microsoft Web Dev for Beginners — 3-terrarium (CSS layout) (MIT), web.dev — Learn CSS, Learn Forms, Learn Accessibility (CC-BY-3.0).