In CSS overflow:hidden
wird 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:left
der Container mit float:none overflow:hidden
rechts 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:right
wird 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:left
der 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:both
ein 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:visible
erstellen, 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:visible
kann ich ein Kind absolut relativ zum Elternteil außerhalb des Containers positionieren ... NOCH den schwimmerartigen Layoutfluss der Geschwister bewahren?