Rumah > hujung hadapan web > tutorial css > Mengapa z-index Tidak Berfungsi dengan Elemen Kedudukan Tetap?

Mengapa z-index Tidak Berfungsi dengan Elemen Kedudukan Tetap?

Patricia Arquette
Lepaskan: 2025-01-03 07:18:42
asal
815 orang telah melayarinya

Why Doesn't z-index Work with Fixed Positioning Elements?

z-index Tidak Berfungsi dengan Kedudukan Tetap: Membongkar Sebab

Kedudukan tetap ialah alat yang berkuasa untuk mencipta elemen yang kekal pada tempatnya pada skrin tanpa mengira menatal. Walau bagaimanapun, ia kadangkala boleh mengganggu sifat z-index, yang mengawal susunan susunan elemen.

Untuk menggambarkan, pertimbangkan coretan kod berikut:

#over {
  width: 600px;
  z-index: 10;
}

#under {
  position: fixed;
  top: 5px;
  width: 420px;
  left: 20px;
  border: 1px solid;
  height: 10%;
  background: #fff;
  z-index: 1;
}
Salin selepas log masuk

Seperti yang anda jangkakan, elemen #over sepatutnya muncul di atas elemen #under kerana ia mempunyai indeks-z yang lebih tinggi. Walau bagaimanapun, dalam senario ini, #under masih menindih #over. Mengapa ini berlaku?

Jawapannya terletak pada kedudukan lalai #over. Secara lalai, elemen mempunyai kedudukan statik, yang bermaksud ia menduduki kedudukan semula jadinya dalam aliran dokumen. Elemen kedudukan tetap, sebaliknya, dialih keluar daripada aliran biasa dan diletakkan pada koordinat tertentu berbanding dengan port pandangan halaman.

Dalam kes ini, kedudukan tetap #under membawanya keluar daripada aliran biasa , dan oleh itu, indeks-znya menjadi tidak relevan kepada elemen dengan kedudukan statik. Untuk menjadikan #under muncul di belakang #over, kita perlu menetapkan kedudukan #over kepada relatif. Ini akan meletakkan #over dalam aliran dokumen tetapi membenarkan ia mengalihkan kedudukannya mengikut indeks-z yang ditentukan.

Berikut ialah coretan kod tetap:

#over {
  width: 600px;
  z-index: 10;
  position: relative;
}

#under {
  position: fixed;
  top: 14px;
  width: 415px;
  left: 53px;
  border: 1px solid;
  height: 10%;
  background: #f0f;
  z-index: 1;
}
Salin selepas log masuk

Sekarang, #under elemen muncul di bawah #over seperti yang dijangkakan. Ingat, untuk indeks-z berfungsi dengan betul, elemen mestilah sama ada secara mutlak atau relatif.

Atas ialah kandungan terperinci Mengapa z-index Tidak Berfungsi dengan Elemen Kedudukan Tetap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan