DevKB
Web Development Knowledge Base
HOME | TOP 20 | WRITE AN ARTICLE |
Sections :



RSS RSS Feed

You too, please publish your useful code snippets in any programming language :
write an article !


Valid HTML 4.0 Transitional

Plateforme d'envoi de gros fichiers en ligne
Dépannage site web
Blog infogérance
Hébergement e-mail

Aurélie Dufour - - 19/03/2008 - vue 4685 fois

Fonction qui corrige le bug des PNG transparents dans IE 6

Internet Explorer v5 et v6 ne gère pas la transparence des images PNG. Pour corriger ce problème, utilisez cette fonction :

<?php

function put_png($path2img, $width, $height){

$HTTP_USER_AGENT = $_SERVER["HTTP_USER_AGENT"];
$suffix = "px";

    //MSIE 6.0 n'affichant pas la transparence pour les PNG, on fait du forcing !
    if ((ereg("MSIE 5", $HTTP_USER_AGENT)||ereg("MSIE 6", $HTTP_USER_AGENT)) 
        && ereg("Windows", $HTTP_USER_AGENT) && !ereg("Opera", $HTTP_USER_AGENT)) {
    echo"<div id="myDiv" style="position:relative;
        height:$height$suffix;
        width:$width$suffix;
    filter:progid:DXImageTransform.Microsoft.AlphaImageLoader
    (src='$path2img',sizingMethod='scale');"></div>";
    }    
    else {   
    echo "<img src="$path2img" width="$width" height="$height" alt="$path2img" />";
    }
}

?>

Elle prend en paramètres le chemin jusqu'à votre fichier PNG, la largeur de l'image et sa hauteur. Ainsi, dans votre page Web, mettez :

<?php
         put_png("monImage.png", 80, 60);
?>

 

Testez sous IE 6... et hop ! un bug de plus en moins ! ;)

 
Vous pouvez également utiliser une solution 100% CSS : http://www.twinhelix.com/css/iepngfix/
Ou une solution 100% JavaScript : http://homepage.ntlworld.com/bobosola/index.htm
 




Write a comment :
Your name :     E-mail (optional) :

AntiSpam : what animal is visible on this picture ? :

Nos partenaires : iPhone 8 Cases & Protection