clear both

Invité
Invité n'ayant pas de compte PHPfrance

29 juin 2007, 08:38

Bonjour,

j'ai lu que si on applique un float left et right à 2 blocs pour les positionner cote à cote,
il faut utiliser un clear both pour dégager les éléments suivants.

On m'a conseillé à ce niveau d'utiliser
<br style="clear: both" />

Ca marche très bien sous ff, mais ie m'ajoute un espace correspondant au <br/>.

En gros mon <br/> est invisible sous ff comme je le souhaite, mais on le voit sous ie.
Comment puis-je éviter l'espace du <br/> sous ie, en gardant le même résultat sous ff?

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

29 juin 2007, 08:49

Je te suggère d'utiliser plutôt un <hr>
<hr style="clear:both;visibility:hidden;" />

Invité
Invité n'ayant pas de compte PHPfrance

29 juin 2007, 09:08

clear et visibility ne semblent pas fonctionner sur <hr/>, ni sous ie, ni sous ff

Invité
Invité n'ayant pas de compte PHPfrance

29 juin 2007, 09:11

pardon, visibility marche, mais il y a toujours de l'espace à cause du <br>, sous ie et ff.

Eléphant du PHP | 113 Messages

29 juin 2007, 10:48

Vous vous emmerdez vraiment pour rien les gars....

<div style="clear:both"></div>

Ca marche très bien.

Mammouth du PHP | 19672 Messages

29 juin 2007, 12:24

clear et visibility ne semblent pas fonctionner sur <hr/>, ni sous ie, ni sous ff
fais donc voir ton code, ça devrait parfaitement fonctionner;
Vous vous emmerdez vraiment pour rien les gars....

<div style="clear:both"></div>

Ça marche très bien.
Possible, mais pas très propre comme code : pourquoi mettre un bloc <div> inutile ? La suggestion du <hr /> est beaucoup plus appropriée.

Il n'est pas sémantiquement correct d'utiliser n'importe quelle balise dans un code HTML sous le prétexte que "ça marche", il faut choisir une balise selon sa signification.

Ici, "hr" est approprié puisque ça indique une séparation entre le contenu précédent et le contenu suivant. "div" est un bloc qui sert de contenant destiné à faciliter la mise en page d'une partie du contenu par feuille de style CSS : Or tu mets un bloc "div" vide. Techniquement, tu n'as pas tort, sémantiquement en revanche, c'est une erreur.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

x@v
Mammouth du PHP | 570 Messages

29 juin 2007, 12:46

si tu met un float:both; avec une marge sa fonctionne

Mammouth du PHP | 19672 Messages

29 juin 2007, 15:33

si tu met un float:both; avec une marge sa fonctionne
La valeur "both" est invalide pour la propriété "float", même en CSS2.

Voir la doc
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

xaviou
Invité n'ayant pas de compte PHPfrance

29 juin 2007, 16:52

j'ai confondu

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

29 juin 2007, 20:11

La suggestion du <hr /> est beaucoup plus appropriée.
Et de plus, elle fonctionne très bien... ;)