Bonjour,
Voici une solution facile que j'utilise et qui évite au navigateur :
1. de tester toutes les images de la page
2. de mal afficher les images pendant le chargement de la page et l'exécution d'un script global
3. qui économise au maximum mémoire et cpu
<head>
<script type="text/javascript">
// Correctif de l'affichage des images PNG dans IE5.5 et IE6 (transparent pour les autres navigateurs).
// V1.1 par Brice de Villeneuve, http://www.boursica.com/
// Licence : freeware, librement utilisable du moment que vous laissez ces commentaires dans votre source.
// Mettre ce script dans le head et dans les balises IMG ajouter simplement : onload='setpng(this)'
// Si l'image n'est pas visible (display:none par exemple), appeler la fonction juste après l'affichage de l'image
// dans un javascript avec, par exemple, un setpng(document.getElementById('idDeMonImage');
function setpng(img) { if(document.all && (IEver=parseFloat(navigator.appVersion.split("MSIE")[1])) && (IEver>=5.5) && (IEver<7) && document.body.filters && img) {
imgName=img.src.toUpperCase();
if(imgName.substring(imgName.length-3,imgName.length)=="PNG") img.outerHTML=
"<span "+(img.id?"id='"+img.id+"' ":"")+(img.className?"class='"+img.className+"' ":"")+(img.title?"title=\""+img.title+"\" ":"")
+"style=\"width:"+img.width+"px;height:"+img.height+"px;"+(img.align=="left"?"float:left;":(img.align=="right"?"float:right;":""))
+(img.parentElement.href?"cursor:hand;":"")+"display:inline-block;"+img.style.cssText+";"
+"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+img.src+"',sizingMethod='scale');\"></span>";
}}
</script>
</head>
<body>
<img border=0 style='position:absolute' src='monimage.png' onload='setpng(this)'>
Blabla blabla<br>
Blabla blabla<br>
Blabla blabla
</body>