Se connecter avec
S'enregistrer | Connectez-vous

overflow:hidden en xhtml dans IE6

Dernière réponse : dans Programmation
Lassé par la pub ? Créez un compte

Oui je pense.

Voici l'exemple le plus simple possible :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
  2. <html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>" xml:lang="fr" lang="fr">
  3. <head>
  4. </head>
  5. <body style="overflow: hidden;">
  6. </body>
  7. </html>
Pas de feuille de style externe, pas de script java, pas meme de contenu...
IE affiche quand meme l'ascenseur vertical.

Pourtant, en html, il ne l'affiche plus :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. </head>
  5. <body style="overflow: hidden;">
  6. </body>
  7. </html>

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:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<a href="http://www.w3.org/TR/html4/loose.dtd" target="_blank">http://www.w3.org/TR/html4/loose.dtd</a>">
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</a>">

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 )

J'avais deja essayé d'appliquer overflow:hidden à html mais ça ne fonctionnait pas, surement à cause de mes mauvais doctype.
Merci beaucoup, cela fonctionne enfin. :) 

Je l'utilise pour avoir un menu fixe meme lorsqu'on scroll. En fait, tout le contenu de la page, sauf le menu, est contenu dans un bloc qui a overflow:auto.

candygirl@idn a dit :
Hello,
- 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 )

[/quote].

Ca faisait des mois que je cherchais un truc qui me fasse cela, et je tombe par hasard ou presque sur ton post. Merci beaucoup :D  . Mon projet à moi c'est un écran vidéo de présentation dans un magasin et donc sur un seul type de navigateur. IE7 excute différente page HTML avec soit du Javascript (heure dynamique), soit du Flash (SWF), soit des AVI et tout ca en gérant facilement les refresh. Bref, ne connaissant rien à l'actionscript, j'avais décidé de coder en Javascript. Grace à la combinaison F11 + masquage des barres de taches + ta propriété overflow dans la balise HTML (ça c'est génial), et bien j'ai enfin une présentation nickel à la powerpoint. :bounce:  :bounce:  :bounce: 
Lassé par la pub ? Créez un compte