28221 sujets

CSS et mise en forme, CSS3

Plus j'y repense, et plus le comportement des navigateurs testés (Opera, IE, FireFox) est le fruit d'un hasard plus que du respect de CSS2. L'application d'un overflow:auto à un élément contenant un flottant ne change rien au fait que ce flottant doit être extrait du calcul de la hauteur du conteneur...

D'autre part, le vrai problème n'est pas de forcer le conteneur du flottant à s'étendre à la hauteur de celui, afin de simuler deux colonnes de même hauteur : il existe déjà quantité de biais pour y parvenir de manière plus consistante.

Le problème est plutôt de forcer un float plus petit que le flux qui le suit à s'étendre verticalement jusqu'à égaler celui-ci... Mais là, ce serait une autre paire de manches Smiley cligne
Laurent Denis a écrit :
Plus j'y repense, et plus le comportement des navigateurs testés (Opera, IE, FireFox) est le fruit d'un hasard plus que du respect de CSS2. L'application d'un overflow:auto à un élément contenant un flottant ne change rien au fait que ce flottant doit être extrait du calcul de la hauteur du conteneur...


C'est ce que j'ai cru comprendre avec d'autres lecture. Dans ce cas le danger c'est que ce comportement ne perdurent pas avec les mises à jour des navigateurs.

Eric
Rectification.

En fait:
- ce comportement n'est effectivement pas prévu par CSS2.0. De ce point de vue, ce qui a été dit ci-dessus reste exact.
- mais il est apparemment normalisé par CSS2.1 ( http://www.w3.org/TR/CSS21/visudet.html#root-height )

Selon celle-ci, en effet :
- pour un conteneur bloc en flux (non remplacé) dont overflow n'a pas la valeur visible et donc height a la valeur auto,
- s'il contient un élément enfant flottant, ou descendant via un enfant en flux,
- et si ce flottant s'achève en dessous de la limite inférieure du conteneur,
- alors la hauteur du conteneur est augmentée pour inclure totalement la hauteur du flottant.

Je dois dire que cela ne me fait toujours pas sauter de joie...
Modifié par Laurent Denis (01 Mar 2005 - 07:56)