Hello,
Je relève plusieures choses:
- Tes 2 doctypes sont incomplets, car ils ne comportent pas l'url correct servant d'identifiant pour la ddt:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Si tu testes avec ces 2 doctypes, tu verras que IE réagit de même pour les deux. ce n'est donc pas un problème de html/xhtml mais de mode quirks/mode standard du navigateur.
- La propriété overflow permet de gérer le dépassement d'un élément, ici en l'occurence le body. Si, au lieu de mettre hidden, tu le remplaces par scroll, sur IE, tu verras la scroll barre apparaître sur le body et constatera donc qu'elle est différente de celle de la fenêtre.
IE n'ignore pas le overflow:hidden; il l'applique,. Smplement cela ne fait pas disparaître la scroll-bare latérale, ce qui est plutôt logique puisqu'elle ne lui correspond pas directement.
- Vu que le body ne représente pas la fenêtre, je me suis dit que cela devait donc être l'html et j'ai donc essayé de mettre l'overflow:hidden sur la balise html et là, la barre disparaît (sur FF et IE, pas opera)
Cependant, perso, je ne l'utiliserais pas.
Déjà tout ton contenu qui dépasserait la taille de la fenêtre de l'utilisateur serait inconsultable (cf petites résolutions ou personnes agrandissant les caractères).
Ensuite, en attribuant certaines des propriétés aux balises body et html, tu te heurteras à des interprétations souvent différentes d'un navigateur à l'autre (dans ce cas ie, FF et opera ne réagissent pas de la même manière )