No CSS, o overflow:hiddené definido em contêineres pai para permitir que ele se expanda com a altura de seus filhos flutuantes.
Mas também tem outro recurso interessante quando combinado com margin: auto...
Se o irmão ANTERIOR for um elemento flutuante, ele aparecerá justaposto a ele. Ou seja, se o irmão for float:left, o contêiner com float:none overflow:hiddenaparecerá à direita do irmão, sem nova linha - como se estivesse flutuando no fluxo normal. Se o irmão anterior for float:right, o contêiner aparecerá à esquerda do irmão. O redimensionamento deste contêiner irá mostrá-lo com precisão centralizado entre os elementos flutuantes. Digamos que se você tiver dois irmãos anteriores, um float:leftao outro float:right, o contêiner aparecerá centralizado entre os dois.
Então aqui está o problema ...
Como faço para manter esse tipo de layout SEM mascarar os filhos?
Pesquisar em toda a web me dá maneiras de como clear:bothexpandir um contêiner ... mas não consigo encontrar nenhuma solução alternativa para manter a centralização esquerda / direita anterior. Se você criar o contêiner, overflow:visibleele de repente ignora o fluxo de layout dos elementos flutuantes e aparece em camadas sobre o elemento flutuante.
Então, pergunte :
Tenho que ter o container overflow:hiddenpara preservar o layout ...
como posso fazer com que as crianças não fiquem mascaradas? Preciso que o filho seja absolutamente posicionado em relação ao pai fora do contêiner.
OU
Como faço overflow:visiblepara que possa posicionar absolutamente um filho em relação ao pai fora do contêiner ... AINDA, preservo o fluxo de layout semelhante ao do float irmão?