Why does adding `overflow: hidden` to a parent make it grow to contain its floated children, when removing it lets the children spill out?.parent { overflow: hidden; } .parent > .child { float: left; height: 80px; }