J'ai quatre éléments div
flottant vers la gauche. Le troisième div
est effacé.
Dans Firefox et Chrome, les éléments sont positionnés comme prévu: Les premier et deuxième div
s sont adjacents les uns aux autres et sont au-dessus des troisième et quatrième div
s qui sont également adjacents les uns aux autres.
IE7 d'autre part place le quatrième div
adjacent à la première et la seconde div
s avec le troisième div
ci-dessous.Comment résoudre ce problème flottant CSS simple dans IE?
Je sais que je peux le réparer en ajoutant un élément br
après le second div
mais je préfère ne pas modifier le balisage si je n'ai pas à le faire. Y a-t-il un moyen plus élégant de régler le problème?
J'ai essayé Google pour un correctif pendant un certain temps mais je n'en ai pas trouvé un, ce qui est plutôt surprenant si l'on considère à quel point le problème semble élémentaire. Peut-être qu'il me manque quelque chose d'évident, y a-t-il un site de référence qui répertorie des problèmes CSS simples comme celui-ci ou suis-je simplement ignorant sur CSS de base?
Editer: J'ai rendu l'exemple de code un peu plus complexe après que Nazgulled ait "résolu" le problème (voir les commentaires). Il y a maintenant quatre div
s au lieu de trois et le troisième div
est effacé au lieu de la seconde.
Voici le code source complet:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>IE Float Test</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<style type="text/css">
div
{
width: 100px;
height: 100px;
color: white;
font-size: 3em;
float: left;
}
#divone
{
background-color: red;
}
#divtwo
{
background-color: blue;
}
#divthree
{
background-color: green;
clear: both;
}
#divfour
{
background-color: purple;
}
</style>
</head>
<body>
<div id="divone">one</div>
<div id="divtwo">two</div>
<div id="divthree">three</div>
<div id="divfour">four</div>
</body>
</html>
Voici ce qui est ressemble à Chrome:
Chrome sample http://img301.imageshack.us/img301/3135/chromev2tp4.png
Voici ce qui est ressemble à IE7:
IE Sample http://img111.imageshack.us/img111/8195/ie7v2cg3.png
affichage: en ligne; devrait fonctionner pour IE6 – GregD
Essayez d'éviter les commentaires conditionnels. – Soviut
Je viens de l'essayer. affichage: inline-block n'a aucun effet dans IE7 – brianpeiris