En CSS, le overflow:hidden
est définie sur les conteneurs parents afin de leur permettre de s'étendre avec la hauteur de leurs enfants flottants.
Mais il présente également une autre caractéristique intéressante lorsqu'il est associé à margin: auto
...
Si le frère ou la sœur PRÉCÉDENT(E) est un élément flottant, il ou elle lui sera juxtaposé(e). C'est-à-dire que si le frère ou la sœur est float:left
puis le conteneur avec float:none overflow:hidden
apparaîtra à droite de son frère, sans nouvelle ligne - comme s'il flottait dans le flux normal. Si le frère ou la sœur précédent(e) est float:right
alors le conteneur apparaîtra à la gauche du frère ou de la sœur. Le redimensionnement de ce conteneur le fera apparaître centré entre les éléments flottants. Disons que si vous avez deux éléments frères et sœurs précédents, un float:left
l'autre float:right
le conteneur apparaîtra centré entre les deux.
Voici donc le problème ...
Comment maintenir ce type de disposition SANS masquer les enfants ?
En cherchant sur le web, je trouve des moyens de clear:both
et développer un conteneur... mais je ne trouve pas de solution alternative pour maintenir le centrage gauche/droite des enfants précédents. Si vous faites en sorte que le conteneur overflow:visible
le conteneur ignore soudainement le flux de mise en page des éléments flottants et apparaît en couches au-dessus de l'élément flottant.
Alors question :
Je dois avoir le conteneur overflow:hidden
pour préserver la mise en page...
comment faire pour que les enfants ne soient pas masqués ? J'ai besoin que l'enfant soit absolument positionné par rapport au parent à l'extérieur du conteneur.
O
Comment puis-je overflow:visible
afin que je puisse absolument positionner un enfant par rapport au parent à l'extérieur du conteneur... MAIS préserver le flux d'affichage flottant de l'enfant ?