ในหลายกรณีองค์ประกอบต้องถูกจัดตำแหน่งเพื่อz-index
ให้ทำงานได้
แน่นอนการใช้position: relative
องค์ประกอบในคำถามน่าจะแก้ปัญหาได้ (แต่มีรหัสไม่เพียงพอที่จะรู้ได้อย่างแน่นอน)
อันที่จริงposition: fixed
, position: absolute
และposition: sticky
ยังจะช่วยให้z-index
แต่ค่าเหล่านั้นยังเปลี่ยนรูปแบบ ด้วยposition: relative
รูปแบบจะไม่ถูกรบกวน
เป็นหลักตราบใดที่องค์ประกอบไม่ได้position: static
(การตั้งค่าเริ่มต้น) จะถูกพิจารณาว่าอยู่ในตำแหน่งและใช้z-index
งานได้
คำตอบมากมายสำหรับ"ทำไม z-index จึงไม่ทำงาน" คำถามยืนยันว่าz-index
ใช้งานได้กับองค์ประกอบที่มีตำแหน่งเท่านั้น ในฐานะของ CSS3 สิ่งนี้ไม่เป็นความจริงอีกต่อไป
องค์ประกอบที่เป็นรายการดิ้นหรือรายการตารางสามารถใช้z-index
แม้ในขณะที่เป็นposition
static
จากรายละเอียด:
4.3 Flex Item Z- การสั่งซื้อ
รายการ Flex สีเหมือนกับบล็อกแบบอินไลน์ยกเว้นการสั่งซื้อเอกสารที่สั่งการแก้ไขถูกนำมาใช้ในสถานที่ของการสั่งซื้อเอกสารดิบและz-index
ค่าอื่น ๆ กว่าauto
สร้างบริบทซ้อนแม้ว่ามีposition
static
5.4 การสั่งซื้อแกน Z: z-index
คุณสมบัติ
การสั่งซื้อภาพวาดของรายการตารางเป็นเหมือนกับบล็อกแบบอินไลน์ยกเว้นการสั่งซื้อเอกสารเพื่อแก้ไขที่ใช้ในสถานที่ของการสั่งซื้อเอกสารดิบและz-index
ค่าอื่น ๆ กว่าauto
สร้างบริบทซ้อนแม้ว่า
มีposition
static
นี่คือตัวอย่างของz-index
การทำงานกับไอเท็มเฟล็กซ์ที่ไม่มีตำแหน่ง: https://jsfiddle.net/m0wddwxs/
Stacking Context
เพื่อสร้าง