28172 sujets

CSS et mise en forme, CSS3

Bonjour.
Voici un extrait de feuille de style que j'utilise sur un site

#page { width: 1024px; }

#entete { height: 80px; }

#menu { float: left; width: 160px; text-align: center; }

#contenu { float: left; padding: 10px; width: 832px;}

#pied { clear: both; }

Le contenu placé dans la div #contenu s'affiche bien sous Firefox, Chrome, et IE6.
Par contre en dessous de #menu, sous IE7 et 8, comme si le float: left était inopérant.

Après avoir cherché un long moment, le pb semble venir ....... d'une ancre placée dans la div #entete ! Ou plutôt de la syntaxe de la balise.
En effet, écrite ainsi <a name="top" id="top" />, le décalage se produit sous IE.
Mais écrite ainsi <a name="top" id="top"></a>, avec une balise spécifique de fermeture, l'affichage est correct.
Mon degré de connaissance de IE et des CSS fait que je planche, et j'aimerai bien comprendre.
Quelqu'un peut-il m'expliquer pourquoi ?
Le doctype de ma page est le suivant :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Merci[b]
[/b] [code=html]

Modifié par fpnoel (01 Feb 2011 - 03:48)
Bonjour,

IE, comme tout navigateur, n'aime pas les erreurs de code (le problème c'est qu'il les corrige généralement moins bien). Un code valide a donc moins de chance de planter sous IE.