In CSS overflow:hiddenwird das für übergeordnete Container festgelegt, damit es mit der Höhe der schwebenden untergeordneten Container erweitert werden kann.
Aber es hat auch eine andere interessante Eigenschaft, wenn es mit margin: auto...
Wenn VORHERIGES Geschwister ein schwebendes Element ist, wird es tatsächlich nebeneinander angezeigt. Das heißt, wenn das Geschwister ist, erscheint float:leftder Container mit float:none overflow:hiddenrechts neben dem Geschwister, keine neue Zeile - so als ob er im normalen Fluss schweben würde. Wenn es sich um das vorherige Geschwister handelt, float:rightwird der Container links vom Geschwister angezeigt. Wenn Sie die Größe dieses Containers ändern, wird er genau zwischen den schwebenden Elementen zentriert angezeigt. Sagen Sie, wenn Sie zwei vorherigen Geschwister haben, eine float:leftder anderen float:right, wird der Behälter zwischen die beiden zentriert erscheinen.
Also hier ist das Problem ...
Wie kann ich diese Art von Layout beibehalten, ohne Kinder zu maskieren?
Das Googeln im gesamten Web gibt mir Möglichkeiten, wie clear:bothein Container erweitert werden kann. Ich kann jedoch keine alternative Lösung finden, um die linke / rechte Zentrierung des vorherigen Kindes beizubehalten. Wenn Sie den Container overflow:visibleerstellen, ignoriert der Container plötzlich den Layoutfluss der schwebenden Elemente und erscheint über dem schwebenden Element geschichtet.
Also Frage :
Ich muss den Container haben overflow:hidden, um das Layout zu erhalten ...
Wie kann ich es schaffen, dass die Kinder nicht maskiert werden? Ich muss das Kind absolut relativ zum Elternteil außerhalb des Containers positionieren.
ODER
Wie overflow:visiblekann ich ein Kind absolut relativ zum Elternteil außerhalb des Containers positionieren ... NOCH den schwimmerartigen Layoutfluss der Geschwister bewahren?