Bonjour,
Je ne sais pas si le titre est très explicite, mais c'est pas évident à expliquer
Remarque : le problème ne concerne que IE5.0 (c'est ok sous IE5.5, 6.x et Mozilla)
Soit la structure suivante :
PS : on peut penser qu'un <div> est de trop, mais ce n'est en fait pas la question, c'est juste que j'ai voulu simplifier une page en réalité plus complexe, et justifiant ces 2 <div>
Mon <p> à un marge-bottom de 10 pixels. Et pourtant, le <div id="2"> se termine pile sous la phrase (je le vois bien en affectant une couleur de fond à ce <div>)
Et, curieusement, les 10 pixels se retrouvent entre les 2 <div>, c'est à dire que j'ai 10 pixels entre les 2.
C'est bien la marge du <p> qui en est la cause, car si je la place à 20 pixels, l'écart devient de 20 pixels, et si je le passe à 0, les 2 <div> se collent bien.
La solution est simple :
J'ai ajouté un espace insécable sous le <p>. Cela fonctionne aussi avec un bloc quelconque (au lieu de l'espace insécable) pour lequel j'aurais définis sa marge inférieure à 0.
Je pourrais donc en rester là, mais j'aimerais bien -comprendre- la raison du pourquoi. Sans parler du fait que l'emploi de l'espace insécable me chagrine.
J'en appelle donc aux professionnels des CSS !
Modifié par Yhann (18 Mar 2005 - 17:43)
Je ne sais pas si le titre est très explicite, mais c'est pas évident à expliquer

Remarque : le problème ne concerne que IE5.0 (c'est ok sous IE5.5, 6.x et Mozilla)
Soit la structure suivante :
<div id="1">
<div id="2">
<p>Phrase pour essai</p>
</div>
</div>
PS : on peut penser qu'un <div> est de trop, mais ce n'est en fait pas la question, c'est juste que j'ai voulu simplifier une page en réalité plus complexe, et justifiant ces 2 <div>
Mon <p> à un marge-bottom de 10 pixels. Et pourtant, le <div id="2"> se termine pile sous la phrase (je le vois bien en affectant une couleur de fond à ce <div>)
Et, curieusement, les 10 pixels se retrouvent entre les 2 <div>, c'est à dire que j'ai 10 pixels entre les 2.
C'est bien la marge du <p> qui en est la cause, car si je la place à 20 pixels, l'écart devient de 20 pixels, et si je le passe à 0, les 2 <div> se collent bien.
La solution est simple :
<div id="1">
<div id="2">
<p>Phrase pour essai</p>
</div>
</div>
J'ai ajouté un espace insécable sous le <p>. Cela fonctionne aussi avec un bloc quelconque (au lieu de l'espace insécable) pour lequel j'aurais définis sa marge inférieure à 0.
Je pourrais donc en rester là, mais j'aimerais bien -comprendre- la raison du pourquoi. Sans parler du fait que l'emploi de l'espace insécable me chagrine.
J'en appelle donc aux professionnels des CSS !

Modifié par Yhann (18 Mar 2005 - 17:43)