Z-Index dan Pseudo-Elements: Satu Kajian Kes
Dalam CSS, sifat z-index menentukan susunan susunan elemen pada halaman, menentukan elemen yang muncul "di hadapan" atau "di belakang" yang lain. Walau bagaimanapun, apabila ia berkaitan dengan unsur pseudo, seperti ::before atau ::after, interaksi mereka dengan z-index kadangkala boleh menjadi kurang mudah.
Pertimbangkan senario di mana kami mencipta elemen pengepala dengan ::sebelum unsur pseudo, seperti yang diterangkan dalam pernyataan masalah. Kami berhasrat untuk mengekalkan elemen pseudo di belakang elemen pengepala, tetapi apabila kami menggunakan indeks-z pada pengepala, elemen pseudo itu tiba-tiba muncul di latar depan.
Penjelasan terletak pada sifat pseudo- unsur itu sendiri. Seperti yang dinyatakan dalam spesifikasi CSS, ::before dan ::after pseudo-elements "berinteraksi dengan kotak lain seolah-olah ia adalah elemen sebenar yang dimasukkan hanya di dalam elemen berkaitannya." Ini bermakna elemen pseudo itu bersarang dengan berkesan dalam elemen induk.
Apabila kita menggunakan indeks-z pada elemen pengepala, ia mewujudkan konteks tindanan baharu. Konteks tindanan ialah ruang 3D di mana elemen dipaparkan mengikut tertib nilai indeks znya. Elemen dalam konteks tindanan yang sama tidak boleh bertindih antara satu sama lain.
Dalam kes ini, elemen pseudo diletakkan dalam konteks tindanan yang sama dengan elemen pengepala. Memandangkan ia dianggap sebagai elemen bersarang, ia tidak boleh terapung di belakang pengepala kerana itu memerlukannya untuk melarikan diri daripada konteks tindanan.
Untuk menyelesaikan isu ini, satu penyelesaian adalah dengan mencipta elemen berasingan sebelum pengepala, seperti yang dicadangkan dalam jawapan. Elemen ini akan bertindak sebagai bekas untuk pengepala dan elemen pseudo, dan indeks-znya akan menyusun pengepala di hadapan dengan betul.
Atas ialah kandungan terperinci Mengapa Elemen Pseudo Saya Muncul Di Atas Elemen Pengepala Apabila Menggunakan Indeks Z?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!