Por que a configuração overflow altera o layout dos elementos filho?

NissoPergunta, questão alguém estava tendo um problema de layout porque tinha dois divs flutuantes dentro de um div não flutuante. Sugeri adicionarfloat: left para sua div externa, que corrige o problema. Alguém sugeriu adicionaroverflow: hidden, que para minha surpresa, também funcionou.

Isso não parece nada com o objetivo deoverflow: hidden. Claramente excedente: hidden faz com que os elementos vejam seus filhos de maneira diferente. O que estou realmente tentando entender éo que essa diferença é Intuitivamente, ele deve apenas tornar o elemento menor do que seria, nunca maior e não vejo por que isso afetaria a hierarquia do layout.

Alguém pode explicar por que isso seria um comportamento correto / necessário ou se isso é apenas uma peculiaridade do navegador? É outra faceta para a propriedade overflow que estou perdendo? Uma solução é melhor que a outra?

Editar: eu descobri a configuraçãooverflow: auto também funciona, portanto, não parece ser importante o valor do estouro, apenas que está definido. Eu ainda não entendo o porquê.

questionAnswers(2)

yourAnswerToTheQuestion