Ich versuche zu verstehen, die Regeln hinter Z-Index und wie es mit der Überlaufeigenschaft interagiert.Warum interferiert der Überlauf mit dem Z-Index?
Ich habe diesen HTML:
<body>
<div class="cell">
Here is some text to keep things interesting
<div class="boxy"></div>
</div>
</body>
Und diese css:
.boxy {
position: absolute;
z-index: 9999;
top:70px;
width: 50px;
height: 50px;
background: #0FF;
}
.cell {
border: 2px solid #F00;
position: relative;
/* comment these two lines out and the box appears */
/* or change them both to 'visible' */
/* changing only one of them to 'visible' does not work */
overflow-y: auto;
overflow-x: auto;
}
ich erwartet hätte, dass die Cyan-Box erscheint, obwohl es aus der Größe der div.cell
, weil seine z -Index und seine Position sind festgelegt.
Die Cyan-Box kann jedoch nur angezeigt werden, indem Sie die Zeilen overflow-x und -y auskommentieren.
Meine Frage ist: Wie kann ich die Cyan-Box auf dem Bildschirm erscheinen lassen, während der Überlauf entweder versteckt oder automatisch bleibt? Aber noch wichtiger, ich bin auf der Suche nach , warum dies geschieht. Wie werden die CSS- und Layoutregeln hier angewendet?
See my Plunkr. Dieses Beispiel ist natürlich eine stark vereinfachte Version des HTML/CSS, mit dem ich gerade arbeite.
EDIT Es scheint unten einige Verwirrung in den Antworten zu sein, weil ich die Dinge erklären, nicht gut genug. Wenn Sie die zwei Überlauflinien kommentieren, können Sie sehen, dass die Cyan-Box erscheint. Es erscheint außerhalb der Grenze von .cell
. Warum passiert das? Wie kann ich die Cyan-Box erscheinen lassen, während Überlauf und Z-Index immer noch versteckt sind?
entfernen Sie die Position –
Welche Position? Und warum sollte das funktionieren? Was sind die Regeln hier? –