GNT sans publicité, site mobile, fonctionnalitées exclusives...

Clear Both

Le
Le Fou
Salut,

Lorsqu'un élément en "float: left" (ou right) est inséré dans un bloc, la
balise de fin de ce bloc induit-elle un "clear: both" par défaut ?
En clair :
<div>
<p class="floatleft"></p>
<p></p>
</div>
Y a-t-il besoin avant </div> de rajouter un élément en "clear: both" ?
D'après mes essais non. Mais est-ce exact et est-ce correct ?

--
A'tchao

Le Fou
http://perso.club-internet.fr/ehiller/
http://club.exocet.free.fr/
http://www.ffessm-cd84.com/
Lire les 6 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Thibaut Allender
Le #21941401
on 27/05/2004 19:40, Le Fou wrote :

Salut,

Lorsqu'un élément en "float: left" (ou right) est inséré dans un bloc, la
balise de fin de ce bloc induit-elle un "clear: both" par défaut ?



non

En clair :
<div>
</div>
Y a-t-il besoin avant </div> de rajouter un élément en "clear: both" ?



oui

D'après mes essais non. Mais est-ce exact et est-ce correct ?



si tu mets par exemple une image en float left, et que la hauteur de
texte que tu mets dans le <p> suivant est inferieure a la hauteur de
l'image, l'image debordera du div, preuve que le clear:both n'a pas lieu
automatiquement, et que donc il en faut un si tu ne veux pas que le div
soit moins haut que ton image (generalement, ca fait pagaille ;)

--
thibaut allender | freelance | web|system developer|designer
+32 496 26 75 76 | http://capsule.org *new version*
Bobe
Le #21941371
Le Fou nous a dit le 27/05/2004 19:40:

Lorsqu'un élément en "float: left" (ou right) est inséré dans un bloc, la
balise de fin de ce bloc induit-elle un "clear: both" par défaut ?
En clair :
<div>
</div>
Y a-t-il besoin avant </div> de rajouter un élément en "clear: both" ?
D'après mes essais non. Mais est-ce exact et est-ce correct ?




C'est juste à titre informatif, pour donner espoir (et envie), mais le W3C
réfléchit au problème:
http://www.w3.org/TR/2002/WD-css3-b...lear-after

Dans ton cas, tu pourras mettre un clear-after: left; sur le dernier élément
de ton div (pour cela, il n'y aura qu'à utiliser la pseudo-classe :last-child :) )

Bon, par contre, c'est un document de travail.

--
Bobe (Aurélien Maille)
http://webnaute.net

"la vie d'un geek est un combat perpétuel contre l'imperfection"
Le Fou
Le #21944271
Thibaut Allender écrit

si tu mets par exemple une image en float left, et que la hauteur de
texte que tu mets dans le <p> suivant est inferieure a la hauteur de
l'image, l'image debordera du div, preuve que le clear:both n'a pas lieu
automatiquement, et que donc il en faut un si tu ne veux pas que le div
soit moins haut que ton image (generalement, ca fait pagaille ;)



Effectivement, je viens de m'en appercevoir ;-)
C'est exactement le cas de figure que j'expérimente en ce moment :
<div class="cadre">
</div>
Le DIV est entouré de pointillés, le texte dans le <p> est très court et
l'image dépasse donc du DIV par le bas.
Pour y remédier je mets après le Mais ça ne m'emballe pas vraiment (et ne fonctionne pas sous IE 5.0 Win), je
préfèrerais un élément qui ne prenne pas de place (le <br> laisse une ligne
vide)...
Z'auriez une idée qui ne relève pas du bidouillage ?

--
A'tchao

Le Fou
http://perso.club-internet.fr/ehiller/
http://club.exocet.free.fr/
http://www.ffessm-cd84.com/
Le Fou
Le #21944261
Bobe

C'est juste à titre informatif, pour donner espoir (et envie), mais le W3C
réfléchit au problème:
http://www.w3.org/TR/2002/WD-css3-b...lear-after

Bon, par contre, c'est un document de travail.



P'tain, "Working draft d'octobre 2002"...
Ils peuvent pas accélérer les choses ?
C'est vrai que ça donne envie mais au train où vont les choses c'est ma
descendance qui en profitera... ;-)

--
A'tchao

Le Fou
http://perso.club-internet.fr/ehiller/
http://club.exocet.free.fr/
http://www.ffessm-cd84.com/
Thibaut Allender
Le #21944221
on 28/05/2004 19:30, Le Fou wrote :

Pour y remédier je mets après le Mais ça ne m'emballe pas vraiment (et ne fonctionne pas sous IE 5.0 Win), je
préfèrerais un élément qui ne prenne pas de place (le <br> laisse une ligne
vide)...
Z'auriez une idée qui ne relève pas du bidouillage ?



un <hr> c'est mieux

avec

.clearboth {
clear: both;
visibility: hidden;
}

on doit pouvoir jouer sur les marges pour rendre ca completement transparent

--
thibaut allender | freelance | web|system developer|designer
+32 496 26 75 76 | http://capsule.org *new version*
Publicité
Suivre les réponses
Poster une réponse
Anonyme