Warum ändert das Festlegen eines Überlaufs das Layout der untergeordneten Elemente?

In diesemFrag Jemand hatte ein Layoutproblem, weil er zwei schwebende Divs in einem nicht schwebenden Div hatte. Ich schlug vor, @ hinzuzufügfloat: left zu ihrem äußeren div, was das Problem behebt. Jemand anderes schlug vor, @ hinzuzufügoverflow: hidden, was zu meiner Überraschung auch geklappt hat.

Dies scheint überhaupt nicht der Zweck vonoverflow: hidden. Klarer Überlauf: Versteckt lassen Elemente ihre Kinder irgendwie anders sehen. Was ich wirklich zu verstehen versuche, istWa dieser Unterschied ist. Intuitiv sollte es nur das Element verkleinern, als es sonst wäre, niemals größer und ich verstehe nicht, warum es die Layouthierarchie beeinflussen würde.

Kann jemand erklären, warum dies korrektes / notwendiges Verhalten ist oder ob dies nur eine Browser-Eigenheit ist? Ist ihre andere Facette zu der Überlaufeigenschaft, die ich vermisse? Ist eine der beiden Lösungen besser als die andere?

Bearbeiten: Ich habe festgestellt, Einstellungoverflow: auto funktioniert auch, es scheint also nicht der Wert des Überlaufs zu sein, der wichtig ist, nur dass er gesetzt ist. Ich verstehe immer noch nicht warum.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage