En CSS, overflow:hidden
se establece en contenedores principales para permitir que se expanda con la altura de sus hijos flotantes.
Pero también tiene otra característica interesante cuando se combina con margin: auto
...
Si el hermano PREVIOUS es un elemento flotante, aparecerá yuxtapuesto a él. Es decir, si el hermano es, float:left
entonces el contenedor con float:none overflow:hidden
aparecerá a la derecha del hermano, sin nueva línea, como si estuviera flotando en el flujo normal. Si el hermano anterior es, float:right
entonces el contenedor aparecerá a la izquierda del hermano. Cambiar el tamaño de este contenedor lo mostrará con precisión centrado entre los elementos flotantes. Digamos que si tiene dos hermanos anteriores, uno float:left
el otro float:right
, el contenedor aparecerá centrado entre los dos.
Así que aquí está el problema ...
¿Cómo mantengo ese tipo de diseño SIN enmascarar a los niños?
Buscar en Google en toda la web me da formas de cómo clear:both
expandir un contenedor ... pero no puedo encontrar ninguna solución alternativa para mantener el centrado del niño anterior izquierdo / derecho. Si crea el contenedor overflow:visible
, el contenedor ignora repentinamente el flujo de diseño de los elementos flotantes y aparece en capas encima del elemento flotante.
Entonces pregunta :
Tengo que tener el contenedor overflow:hidden
para preservar el diseño ...
¿Cómo puedo hacer que los niños no estén enmascarados? Necesito tener al niño absolutamente posicionado en relación con el padre fuera del contenedor.
O
¿Cómo overflow:visible
puedo posicionar absolutamente a un niño en relación con el padre fuera del contenedor ... SIN EMBARGO, preservar el flujo de diseño tipo flotador hermano?