28172 sujets

CSS et mise en forme, CSS3

Bonjour bonjour, j'ai un petit souci avec de l'imbrication de div. En effet lorsque je mets une div dans une autre div avec un marge haute, la marge se met au dessus de la div englobante et non de la div contenu à l'intérieur.

Cà ne fait que çà sous firefox :

<div style="height:200px;width:200px;background-color:#FFAAFF;">
    <div style="margin-top:10px;background-color:#FF00AA;">aaaa</div>
  </div>


L'exemple en ligne peut etre vu ici : http://shinji.free.fr/AS/margin.html

Le seul moyen que j'ai trouvé c'est de changer le display, par exemple un display:table.

Quelqu'un a une idée si c'est normal ou non?

Merci.
Modifié par Shinji (16 Oct 2008 - 17:04)
Remplace le margin top de la div intérieur par un margin bottom dans la div supérieure ?


 <DIV style="height:200px;width:200px;background-color:#FFAAFF;margin-bottom:10px">
    <DIV style="background-color:#FF00AA;">aaaa</DIV>
  </DIV>
Hello,

Ça s'appelle la fusion des marges, et ça ne fais pas ça «que» dans Firefox, mais plutôt dans: Firefox, Opera, Safari, Konqueror, Chrome, Camino, etc. À priori aussi dans Internet Explorer 8.

Ce méchanisme standard est appliqué par Internet Explorer 6 et 7 également, mais le HasLayout peut l'empêcher.

Pour plus de détails sur la fusion des marges et le HasLayout, une petite recherche s'impose. Smiley cligne
@Eze heu non çà ne rélerait pas le problème Smiley cligne .

@Florent V. Merci je vais regarder çà de ce pas.