28173 sujets

CSS et mise en forme, CSS3

Bonjour!

J'ai une interrogation qui part du constat qu'un bloc flottant à qui attribue une position relative, s'il est parent d'un bloc flottant, sera comme "auto-clearant" et s'étendra sur toute la longueur de son enfant flottant, sans que celui-ci ne "déborde".

Maintenant, si le bloc parent a une position relative, mais qu'il n'est pas lui-même flottant, IE le considère également comme "auto-clearant", quand les navigateurs Gecko laissent le flottant déborder.

... A ce moment-là, comme je me suis surprise à penser "au fond, si tout bloc auquel est attribué une position relative était "auto-clearant" comme l'interprète IE (mouarf mouarf), je n'aurais pas à rajouter ce-fichu-spacer-non-mais-zut"...

... C'est le moment où je me suis plongée dans les specs pour trouver une explication à la raison pour laquelle une position relative appliquée à un bloc flottant le rend "auto-clearant", mais pas dans les autres cas (sauf sous IE, donc).

... Donc j'ai fouillé, et j'ai peut-être raté quelque chose et je suis débile, mais je ne trouve rien dans les specs qui dise clairement qu'une position relative appliquée à un bloc qui flotte le rendra auto-clearant s'il contient un enfant flottant.

... A ce stade, je n'ai donc même pas de justification claire au fait qu'une position relative sur un bloc flottant le rend "auto-clearant" s'il contient un autre bloc flottant.

D'où mon interrogation : pourquoi au fond ?
Et pourquoi seulement en application aux blocs flottants parents d'un bloc flottant ?

Et ma question bonus : je sais que clear-after changera ma vie en 2015 quand IEx l'aura enfin implémenté, mais... en attendant, est-ce que dans l'élaboration des CSS3, un statut clair pour cette mystérieuse fonction "auto-clearante" de position relative fait partie des projets ? [puisqu'au fond, comme IE6 voit déjà position relative comme "auto-clearant" tout le temps, c'est bien pratique pour faire l'économie du spacer-non-mais-zut]