[ IE ] .png et transparence
Posté : 07 sept. 2006, 17:47
Bonjour,
je viens de découvrir à ma plus grande stupéfaction que IE ne gérait pas la transparence des .png.
Je suis donc allé me renseigner sur le net, et j'ai trouvé des solutions, donc ce script :
l'auteur du script précise bien qu'il faut spécifier les width et height de l'image .png.
Hors mon problème est le suivant : j'affiche mes images non pas par <img>, mais avec <input type="image">, car il faut que j'envoie des informations sur la prochaine page (récupérer via des radio button), lorsque je clic sur une de mes images .png.
(C'est en fait une boutique de t-shirt. les motifs sont affichés en .png, par dessus des background-image représentant des t-shirts. Les radio buttons servent à préciser si on veut afficher le motif sur un t-shirt, un sweat ou une veste).
Je génère ma liste d'images ainsi :
Existe t'il une solution pour me sauver ?
- Soit passer les infos de mes radio button autrement que par formulaire, ce qui me permettrait d'abandonner mon formulaire, et donc mes <input type="image">
- Soit en réussissant en gardant mon formulaire.
merci à ceux qui tenteront d'apporter une solution.
je viens de découvrir à ma plus grande stupéfaction que IE ne gérait pas la transparence des .png.
Je suis donc allé me renseigner sur le net, et j'ai trouvé des solutions, donc ce script :
Code : Tout sélectionner
<script type="text/javascript"><!--
//<![CDATA[
if (navigator.appName.substring(0, 3) == "Mic")
for (i = 0; i < document.images.length; i++)
if (document.images[i].src.substring(document.images[i].src.length-3, document.images[i].src.length) == "png")
{
document.images[i].style.height = document.images[i].height + "px";
document.images[i].style.width = document.images[i].width + "px";
document.images[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + document.images[i].src + ",sizingMethod='scale')";
document.images[i].src = "transparent.gif";
}
//]]>
//--></script>
Le fichier "transparent.gif" est obligatoire. En réalité, c'est une image gif qui n'est autre qu'un pixel transparent.
Pour que cela fonctionne, il faut aussi spécifier pour chaque image l'attribut width et height.Hors mon problème est le suivant : j'affiche mes images non pas par <img>, mais avec <input type="image">, car il faut que j'envoie des informations sur la prochaine page (récupérer via des radio button), lorsque je clic sur une de mes images .png.
(C'est en fait une boutique de t-shirt. les motifs sont affichés en .png, par dessus des background-image représentant des t-shirts. Les radio buttons servent à préciser si on veut afficher le motif sur un t-shirt, un sweat ou une veste).
Je génère ma liste d'images ainsi :
echo " <td id=\"td".$nb_cells."\" style=\"background-image:url(graphs/shop/backgrounds/".$bg[$count].")\">
<input type=\"image\" name=\"motive_id\" src=\"graphs/shop/motifs/".$result['motif_referer'].".png\"
value=\"".$result['motif_referer']."\" onClick=\"submit();\"
style=\"padding:5px;border:1px dashed #AAAAAA;\" /></a></td>\n";
la page en questionExiste t'il une solution pour me sauver ?
- Soit passer les infos de mes radio button autrement que par formulaire, ce qui me permettrait d'abandonner mon formulaire, et donc mes <input type="image">
- Soit en réussissant en gardant mon formulaire.
merci à ceux qui tenteront d'apporter une solution.