Création
d'entreprise

Webmaster - Afficher des PNG transparents dans IE 5.5 et IE 6


Le problème


Les PNG transparents permettent de faire de très beaux effets sur les pages web.
Tous les navigateurs le supportent (Firefox, Opera, Konqueror, Safari, Camino...)... sauf Internet Explorer 5.5 et 6 !
(Internet Explorer 7, lui, supporte correctement les PNG transparents).

C'est donc particulièrement pénible, puisque cela vous oblige:
  • Soit à ne pas utiliser de PNG transparents.
  • Soit à gérer 2 versions de la page (pour IE 5.5/6, et pour tous les autres).

La solution


Voici un bout de Javascript (2 ko) qui permet à IE 5.5 et IE 6 de gérer correctement les PNG transparents.
(Oui oui, vous avez bien lu.)

Le gros du travail consiste à mettre ce bout de Javascript sur votre site: pngfis.js

puis à ajouter dans vos pages:
<!--[if lt IE 7.]>
<script defer type="text/javascript" src="pngfix.js"></script>
<![endif]-->


C'est tout !

Attention: Il est nécessaire d'indiquer la taille des PNG transparents (width et height) dans chaque balise <img>.

Ceci ne causera pas la moindre perturbation dans les autres navigateurs et ne cassera pas la validation W3C. Seuls IE 5.5 et IE 6 utiliseront ce bout de code automatiquement.

Note: Il n'y a aucune solution pour les version de IE antérieures à la 5.5.

Comment ça marche ?


Le bout de javascript n'est exécuté que par IE 5.5 et IE 6.
Il fait appel à DirectX pour charger et afficher les PNG.
Publié par sebsauvage - Dernière mise à jour le 20 novembre 2009 à 14:01 par marlalapocket
Ce document intitulé « Webmaster - Afficher des PNG transparents dans IE 5.5 et IE 6 » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Suggestions
  •  Webmaster - Afficher des PNG transparents dans IE 5.5 et IE 6
  •  Transparence PNG avec photoshop/Image ready (Résolu) » Meilleure réponse: Merci mille fois karta24 ! hier soir en me couchant j'avais penser a faire cela, effacer le fond, mais lorsque je me suis levé ce matin j'ai fait des recherche et je n'est vue personne parler de cela donc je me suis di que ce n'étais pa
  •  Gestion des images en HTML » Articles : Comment afficher des images sur une page web? Quelques images sur un site Web peuvent le rendre plus attractif et plus convivial, cependant il est important de ne pas sombrer dans l'excès car les images peuvent impliquer un temps de chargement...
  •  Webmaster - Afficher une image de grande taille » Fiches pratiques : Pour la plupart des internautes, afficher une image de grande taille dans une page web est trop lourd. Zoomify est un petit programme Flash qui permet de rendre une image zoomable et navigable, et chargeant l'image par morceau selon le...
  •  Webmaster - Afficher facilement le code php/xhtml de vos pages » Fiches pratiques : Si vous voulez proposer a vos visiteurs de voir la source de vos fichiers (PHP ou HTML), il y a plusieurs solutions. En php Afficher le code php Afficher le code html En html Informations Voir aussi En php Afficher le code php La...
  •  Mettre un fond transparent avec gimps 2.2 (Résolu) » Meilleure réponse: Pour un fond transparent sous gimp (et Linux : mais cela doit marcher pour Windows) - enregistrer en gif ou en png - Créer un canal alpha, comme indiqué ci dessus - sélectionner la zone que l'on veut rendre tranparente - cliquer sur édi
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Javascript - Coloration syntaxique dans vos pages web
Javascript - Librairies d'effets pour vos images