Hi there,
ich habe das noch nicht richtig verstanden. Es gibt da einen „Stacking Context“, siehe z.B. https://coder-coder.com/z-index-isnt-working/ oder https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context
Ja, da ist es eh gut beschrieben. Der "stacking context" bei nicht irgendwie "besonders" positionierten Elementen ergibt sich einfach aus der Reihenfolge ihres Aufrufs.
Bei anders positionierten Elementen verhält es sich wie bei den Positionen (idR also "top:" und "left:") - ein zB in einem anders als "static" positioniertem Div-Element seinerseits anders positioniertes Div bezieht sich sowohl was die die Lage im Dokument als auch seinen z-Index betrifft auf das Elternelement. Das ist der Kontext und das ist ja auch irgendwie logisch. Mit dem wie Du geschrieben hast "nächsten" Element hat es nur insoferne zu tun, als das sehr häufig auch das Elternelement ist, auf den sich das (unter den gegebenen Voraussetzungen) bezieht. Also, ein Element mit z-Index 100 kann unter einem z-Index 50 liegen, wenn das Elternelement einen z-Index 25 hat...😉