Plutôt que d'essayer d'expliquer cela, je vais vous donner le code:Pourquoi la variable flottante hérite parfois de la marge de l'élément suivant?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>weird</title>
<style type="text/css">
div#sidebar {
background-color: yellow;
float: left;
width: 200px;
}
</style>
</head>
<body>
<!-- insert something here to shift the top
of the sidebar by the top margin of the following div
-->
<div id="sidebar">
background-color: yellow;<br />
float: left; <br />
width: 200px;<br />
</div>
<div style="margin-top: 200px;">div - margin-top: 200px;</div>
</body>
</html>
Je teste cela dans FF et Chrome. Étrangement, IE6 se comporte d'une manière que je pensais correcte. (?) J'ai réduit cela à la reproduction minimale que je peux. Fondamentalement, si vous placez un texte à proximité du commentaire, la barre latérale se déplacera vers le haut du document comme je l'espère. Sinon, la barre latérale semble hériter de la marge supérieure de la div suivante.
Que se passe-t-il?
Juste pensé que je noterais que vous fermez votre dernier div avec/h2. En outre, vous devriez fermer vos éléments br depuis que vous utilisez un doctype XHTML Strict. –
Bonnes prises. J'ai résolu ce problème. – recursive
Même avec le titre étant fermé faux. Mais ça ne fait rien. – corymathews