BUG FIX TRANSPARENCE PNG IE (SIMPLE)

abdoulax Messages postés 875 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 22 juin 2012 - 28 sept. 2006 à 23:28
payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 - 30 juil. 2008 à 18:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/39723-bug-fix-transparence-png-ie-simple

payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 4
30 juil. 2008 à 18:07
ça ne marche pas ! c'est moi le problème ou c'est le code qui en marche pas du tout ?
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
30 déc. 2007 à 23:23
Hello,

cette solution est lourde à mettre en place, et pour faire suite à la discussion sur une solution css, vous retrouverez effectivement une alternative bien plus pratique ici :

http://www.javascriptfr.com/codes/BUG-FIX-TRANSPARENCE-PNG-SOUS-IE_45232.aspx
cs_masta64 Messages postés 51 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 14 février 2009
21 août 2007 à 14:33
en fait je crois que le probleme est juste une histoire d'url de fichiers js et img
cs_masta64 Messages postés 51 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 14 février 2009
21 août 2007 à 14:22
hello tout le monde , jai attentivement lu tout ce post, j'ai tester differente facon pour regler ce prob de transparence au niveau de mes png (en 24 bits de prfondeur au niveau de la transparence, ehhh oui c'est du costaud lol) , mais le prob c'est que la je cale serieusement a tel point que j'en ai mal a la tete, pourriez vous m'aider ???

Le lien vers mon prob http://masta64.neuf.fr/PowerMax_BAD_Design/Index_1024.htm
benftp Messages postés 12 Date d'inscription vendredi 16 juillet 2004 Statut Membre Dernière intervention 22 juillet 2007
22 juil. 2007 à 17:54
oui au fait je confirme, j'avais un problème de cache, ca marche très bien le filter :D

/*CSS*/
#Exemple
{
background-image: url('bg.png') !important;
background-image: url('blank.gif');
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg.png', sizingMethod='scale');
}
/*END CSS*/

messi
benftp Messages postés 12 Date d'inscription vendredi 16 juillet 2004 Statut Membre Dernière intervention 22 juillet 2007
19 juil. 2007 à 14:54
bin c'est pas faux, dans le sens où ma solution ne résout pas le problème de transparence des PNG.
c'est une autre alternative pour ceux qui ne veulent pas voir le fond bleuté du PNG transparent sur ie5.5 et ie6 (qui se feront de plus en plus rare, normalement).

sur ie5.5 et ie6 on voit un GIF de moins bonne qualité
et sur firefox, ie7 et autres, on voit le PNG clean

A vrai dire j'avais essayé avec le blank.gif et le filter, mais comme ca marchait pas, jme suis rabattu sur cette solution. Mais j'vais réessayer quand même, c'était peut-être qu'une histoire de cache...
abdoulax Messages postés 875 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 22 juin 2012 1
19 juil. 2007 à 13:05
Ici ce script n'a pas de rapport avec ta solution. En effet tu ne gère qu'un seul type de transparence avec un Gif. Alors qu'ici on cherche à gérer tous les types de transparence que fournie un png. D'ailleur je croi que IE gère la transparence basique du PNG (à confirmer).

Have fun
benftp Messages postés 12 Date d'inscription vendredi 16 juillet 2004 Statut Membre Dernière intervention 22 juillet 2007
19 juil. 2007 à 12:35
Le "hack CSS" est plus simple.
tu fais un png24 pour les navigateurs qui le gèrent en mettant "!important"
et un gif pour ie<7

/*CSS*/
#Exemple
{
background-image: url('bg.png') !important;
background-image: url('bg.gif') ; /* pour ie < 7 qui ne gère pas la transparence des png*/
}
/*END CSS*/

pour le gif, perso, j'le fais sous photoshop.
>enregistrer pour le web
>GIF 128 tramé
>et je met "tramage de transparence du motif"
ce qui fait un résultat pas trop dégeu
cs_savon Messages postés 21 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 19 mars 2007
19 mars 2007 à 14:03
Dslé pb de dns
l'url est donc :
http://plutonserveur.homelinux.com/
abdoulax Messages postés 875 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 22 juin 2012 1
13 mars 2007 à 22:36
Il faut savoir que javascript n'est pas toujours activé. je reste sur le fait que la solution de CSS est meilleur... :p
cs_savon Messages postés 21 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 19 mars 2007
13 mars 2007 à 14:43
Cette source est a present disponible sur
www.pluton.homelinux.com/sources
cs_savon Messages postés 21 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 19 mars 2007
21 nov. 2006 à 13:21
oui.
Mais tu peut le mettre ou tu veut et changer le target.
C'est une image vide elle est transaparente je peut te l envoyer si tu veut.
Fugugirl Messages postés 1 Date d'inscription dimanche 12 novembre 2006 Statut Membre Dernière intervention 13 novembre 2006
13 nov. 2006 à 15:55
À quoi correspond cette image "blank.gif" ... un gif transparent qu'il faut mettre à la base de son site ??
cs_savon Messages postés 21 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 19 mars 2007
18 oct. 2006 à 17:54
Concernant les else et else if, n'oublier pas qu'il n'y a pas que 2 navigateurs qui trainent sur la toile et que les identifications peuvent changer...
cs_savon Messages postés 21 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 19 mars 2007
18 oct. 2006 à 17:52
Pour Revenir sur le CSS, le but de ce bout de code est de simplifier l'intégration du PNG, pas de le compliquer. Ce code permet d'afficher n'importe qu'elle image png dans une page sans avoir justement a créer 250 Css différents pour afficher en plus une image.

Pour le Css, la méthode que nous utilisons est la suivante pour passer de Ie a Firefox :

html>body .csslabel{
background-image:url("chemin/image.png");
background-repeat: repeat-y;
background-position:center right;
}
.csslabel {
background-repeat: repeat-y;
background-position:center right;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chemin/image.png', sizingMethod='scale');
}
abdoulax Messages postés 875 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 22 juin 2012 1
2 oct. 2006 à 14:01
Si tu ve vraiment ne pas utiliser de hack, t'as cas passer par php. Tu fais un CSS pour IE et un pour les autres, et c'est php qui fera le choix.
Mais bon pour moi la meilleur des solutions est le hack CSS, c'est plus claire, plus facielement modifiable.

Ton validateur de CSS est un simple robot hors il prend pas en compte les différentes raison d'un tel choix. De plus l'utilisation de Javascript est encore moins conseillé pour rendre une page valide. Certe le Javascript permet de contourné le validateur, mais ne respecte en aucun cas les contrainte de validité!!

J'espère que tu comprends mon raisonnement, en tout cas je te conseil de ne pas utiliser ton système...

Have fun
MangaII Messages postés 129 Date d'inscription dimanche 9 décembre 2001 Statut Membre Dernière intervention 12 janvier 2009
2 oct. 2006 à 13:42
En effet, ca pourrai fonctionner !
Mais là encore on utilise un hack spécifique à IE ! et le problème ici c'est que la CSS n'est plus valide ( http://jigsaw.w3.org/css-validator/ ), donc cette solution est à éviter ...
abdoulax Messages postés 875 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 22 juin 2012 1
2 oct. 2006 à 13:09
#exemple{
background-image: url("image.png");
* background-image: url("blank.gif");
* filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='image.png', sizingMethod='scale');
}

Als les petite * s'appel des hack ( du moins je te préviens le code j'ai pas testé mais c'est le principe qui compte, il faut que tu regarde les hack css car je suis même plus sur kon utilise l'* pour faire des hack...). Donc la prémiere ligne s'execute si on est pas sous IE sinon c'est les 2 autre ligne qui prenne la main.

Je me demande si j'ai pas mélangé un peu tout mais le principe est la, regarde les hack css!!

Have fun
MangaII Messages postés 129 Date d'inscription dimanche 9 décembre 2001 Statut Membre Dernière intervention 12 janvier 2009
2 oct. 2006 à 07:55
"la solution est de creer une classe css" ????????????????????

Tu veux bien expliquer comment tu affiche des PNG en alpha ? avec une CSS (valide de préférence) ???
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
29 sept. 2006 à 23:08
oui et surtout qu'un document.write( ... ) efface tout sur la page...
donc oui la solution est de creer une classe css

Bonne prog a tous
transfear Messages postés 58 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 29 septembre 2006
29 sept. 2006 à 14:32
else if (browser == 'Netscape')
document.write("");
else
document.write("");

}

Quel est l'intérêt de faire un else if et un else ayant les mêmes instructions ??? Autant ne garder qu'un seul else...
abdoulax Messages postés 875 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 22 juin 2012 1
28 sept. 2006 à 23:28
Autant utiliser les CSS pour faire ça!!

Have fun
Rejoignez-nous