In diesem Frage Jemand hatte ein Layout-Problem, weil er zwei fließende Divs innerhalb eines nicht fließenden Divs hatte. Ich schlug vor, Folgendes hinzuzufügen float: left
auf ihr äußeres Div, wodurch das Problem behoben wird. Jemand anderes schlug vor, Folgendes hinzuzufügen overflow: hidden
was zu meiner Überraschung auch funktionierte.
Das scheint überhaupt nicht der Zweck von overflow: hidden
. Eindeutig overflow: hidden bewirkt, dass Elemente ihre Kinder irgendwie anders sehen. Was ich wirklich versuche zu verstehen, ist was dieser Unterschied ist. Intuitiv sollte es das Element nur kleiner machen als es sonst wäre, niemals größer, und ich sehe nicht, warum es die Layout-Hierarchie beeinflussen würde.
Kann jemand erklären, warum dies korrektes/notwendiges Verhalten sein würde oder ob dies nur eine Browser-Macke ist? Gibt es eine weitere Facette der Überlaufeigenschaft, die ich übersehe? Ist eine der beiden Lösungen besser als die andere?
Edit: Ich habe eine Einstellung entdeckt overflow: auto
funktioniert auch, also scheint es nicht der Wert von overflow zu sein, der wichtig ist, sondern nur, dass er gesetzt ist. Ich verstehe immer noch nicht, warum.