Aufgrund von CSS-Tricks wie negativen Rändern habe ich gelegentlich etwas HTML, das unter HTML-Inhalt gerendert wird, der später im HTML-Dokument erscheint. Obwohl die ursprünglichen Elemente technisch unter den späteren Elementen liegen sollten, möchte ich die über den späteren Elementen anzeigen.
Ist es möglich, ein HTML-Element über einem anderen Element erscheinen zu lassen, ohne eine absolute Position angeben zu müssen? Es scheint nicht, dass der Z-Index ohne eine absolute Position eine Wirkung hat.
Phrogz
Ja: benutzen position:relative; z-index:10.
z-index hat keine Wirkung für position:static (der Standard).
Beachten Sie, dass der Z-Index kein globales Schichtsystem ist, sondern nur die Reihenfolge innerhalb jedes positionierten übergeordneten Elements unterscheidet. Wenn Sie haben:
…dann #a1 wird nie oben rendern bWeil #b darüber geschichtet ist #a. Sie können eine Demo davon unter sehen http://jsfiddle.net/DsTeK
die Voreinstellung ist statisch? Wow, ich dachte all die Jahre, es wäre relativ
– Jay
12. März 2012 um 21:23 Uhr
@GoldenNewby Gern geschehen. Ich habe der Antwort eine Demo meines zweiten Punktes hinzugefügt.
– Phrogz
12. März 2012 um 21:30 Uhr
Ja, es hat in meinem Code sofort funktioniert. Ich musste nur die Mindestzeit warten, bevor ich akzeptierte.
– GoldenNewby
12. März 2012 um 21:34 Uhr
Ihre Anmerkung (und Demo) darüber, nicht global zu sein, sind äußerst hilfreich
– Zimkies
10. Juni 2013 um 18:50 Uhr
Vielen Dank, dass Sie Folgendes erwähnt haben: – z-index ist kein globales Layering-System
– geeksal
5. Oktober 2016 um 8:35 Uhr
Herr Lister
Ich weiß, dass die Antwort von Phrogz bereits akzeptiert wurde, und es ist eine gute Antwort, aber nur fürs Protokoll: Sie müssen nicht immer z-index.
Wenn du. .. hast position:relative auf einem Element wird es auch über allen anderen Elementen angezeigt, die keine haben position (oder position:static). Auch wenn Sie überhaupt keine Z-Indizes haben!