Ragà, sapete dirmi xkè internet explorer gestisce in maniera "cagosa" le trasparenze delle immagini? 8(
Con Firefox e Opera tutto ok, ma con IE si vede uno schifo...
si può fare qualcosa???
Ragà, sapete dirmi xkè internet explorer gestisce in maniera "cagosa" le trasparenze delle immagini? 8(
Con Firefox e Opera tutto ok, ma con IE si vede uno schifo...
si può fare qualcosa???
si, non usarlo
Perchè chi lo produce è molto interessato a rispettare gli standard.
sarebbe il miglior formato per la trasparenza sul web secondo me ma quella merdadi ie non le vede...
Infatti.Alebass_89
Questo è uno dei più grossi problemi di crossbrowsing che si incontrano durante lo sviluppo di un sito web.. E purtroppo non è risolvibile a meno di usare CSS proprietari assolutamente fuori standard (che comunque non ho mai testato) come filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( src='immagine.png');.
Ti posto una soluzione in javascript, che ti permette di lasciare pulito il css.
Questa è la funzione, che ti consiglio di inserire in un file esterno.
Questo è il codice che devi inserire appena prima di </body>.Codice PHP:
/* ************************************************************************************** */
// Correctly handle PNG transparency in Win IE 5.5 or higher.
// http://homepage.ntlworld.com/bobosola. Updated 02-March-2004
function correctPng()
{
for(var i=0; i<document.images.length; i++)
{
var img = document.images[i]
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
{
var imgID = (img.id) ? "id='" + img.id + "' " : ""
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
var imgStyle = "display:inline-block;" + img.style.cssText
if (img.align == "left") imgStyle = "float:left;" + imgStyle
if (img.align == "right") imgStyle = "float:right;" + imgStyle
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
img.outerHTML = strNewHTML
i = i-1
}
}
}
E' un hack, però funziona abbastanza bene. L'unico limite serio è che la trasparenza è limitata ai tag img: per background-image, insomma, i problemi rimangono.Codice PHP:
<!--[if gte IE 5.5]>
<script type="text/javascript">
/* fa funzionare l'alpha channel su ie a partire dal 5.5 */
correctPng();
</script>
<![endif]-->
Ultima modifica di L33T; 28-07-2005 alle 04:54:44
Es ist nichts schrecklicher als eine tätige Unwissenheit.
Comunque mi pare di aver letto che con IE7 il problema verrà risolto...
Certo che stai diventando lamero...L33T
Se Lee fosse morto si rivolterebbe nella tomba.
Naahh. In fondo filter:etc.. è aggiunto solo per ie, e il conditional comment è un normalissimo commento per tutti gli altri browser :P
Es ist nichts schrecklicher als eine tätige Unwissenheit.
megaman
E io invece ti dico di usarlo... cosi chi vuole visitare il sito, si toglie quella schifezza.megaman
purtroppo il sito è rivolto verso gente particolare che statisticamente parlando usano IE un buon 80-90%.
Personalmente non mi sono mai importato della compatibilità con IE... questo fa capire xkè sn un fallito
questo significa che fai bene... tutti gli sviluppatori del web dovrebbero boicottare Microsoft...sydarex
anche tu?Peppigno
cmq questo piccolissimo problema di cazzeggio col png dovuto a IE ha "evitato" la diffusione del formato di compressione che IMHO è LU MEGGHIU