Bonjour,

Est ce que en toute logique un element à qui on applique un float left ou right ne devrait pas toujours etre de type display block ?
Car ceci ne semble pas avoir de logique si il est inline ?

Merci si quelqu'un peux approfondir le sujet
Modifié par neutronweb (08 Dec 2007 - 18:33)
neutronweb a écrit :

un element à qui on applique un float left ou right ne devrait pas toujours etre de type display block ?

Non, tu peux très bien appliquer un float à un span par exemple et avoir dès lors la possibilité de recourir à des propriétés telles que width ou margin-top.

edit: après relecture, je me dis que je n'ai pas été tout à fait limpide, mais je prendrai l'heure tardive comme excuse. Smiley ravi
Ce qu'il faut comprendre, c'est qu'attribuer à un élément un positionnement hors flux (flottant, positionnement absolu, etc.) lui confère par la même occasion la majorité des possibilités qu'offre un élément de type block natif. Autrement dit, un strong par exemple (élément de type inline) n'accepte pas de marges verticales lorsqu'il est dans le flux; une fois flottant, ces marges pourront être utilisées sans peine.
Modifié par Benjamin D.C. (08 Dec 2007 - 01:59)
oui mais j'ai remarqué que si on applique un float on peux allors applique un display:block à un element inline et ceci n'a plis aucun effet.
du coup est ce que le float ne transforme pas en boite ?

Quelle est la logique du fonctionnement du float vis à vis de ceci ?
On ne peux pas appliquer de maring a une image sans la passer en float ou en block ?
D'apres ce que tu me dit ("et avoir dès lors la possibilité de recourir à des propriétés telles que width ou margin-top") j'en deduit ceci !
neutronweb a écrit :
On ne peux pas appliquer de maring a une image sans la passer en float ou en block ?
D'apres ce que tu me dit ("et avoir dès lors la possibilité de recourir à des propriétés telles que width ou margin-top") j'en deduit ceci !

Il y a une différence entre «pas de margin-top» et «pas de margin».
En l'occurrence, les éléments en display: inline n'acceptent pas de marge supérieure ou inférieure, mais acceptent normalement des marges latérales.

neutronweb a écrit :
oui mais j'ai remarqué que si on applique un float on peux alors applique un display:block à un element inline et ceci n'a plis aucun effet.
du coup est ce que le float ne transforme pas en boite ?

Quelle est la logique du fonctionnement du float vis à vis de ceci ?

Les déclarations float: left et float: right prennent le pas sur la plupart des types de rendu (display). Un élément flottant, que sa propriété display soit sur "block" ou "inline", aura le même comportement.
Modifié par Florent V. (08 Dec 2007 - 12:49)
Ok merci il me semblait bien que le float prenait le pas dessus
Dans la mesure ou le comportement du float s'approche du display block, niveau syntaxique ne serait il pas logique de decrir ces element comme display block meme si ceci n'a pas d'impacte ?
neutronweb a écrit :
Dans la mesure ou le comportement du float s'approche du display block, niveau syntaxique ne serait il pas logique de decrir ces element comme display block meme si ceci n'a pas d'impacte ?

Non, on s'en fiche royalement. Smiley smile