28173 sujets

CSS et mise en forme, CSS3

Bonjour à vous,

Après avoir parcouru en long et en large les archives du forum + quelques articles sur le net, je ne trouve pas ma solution. je vous soumets donc mon problèle
J'utilise le script JS correct_png qui remplace les images PNG par un filter quand on est sous IE6. Jusqu ici pas de probleme pour la plupart des PNG
Sauf que dans mon layout j'ai une image de background en CSS (qui constitue le fond d un menu) et par dessus j ai des liens images.
Sous firefox, ie7 et autres, nickel. Par contre sous IE6, les liens images n'apparaissent pas. J'ai essayé avec les feintes du forum (z-index:1, position relative, etc...), rien n y fait...
Est ce que c'est complètement impossible ?
Merci à vous pour vos pistes et à bientot !
Le traitement des png avec ie6 est un peu délicat, en fait ton script ne vat pas traiter l'image, il vat remplacer l'image par une image gif transparente vide et appliquer a celle ci un filtre "Microsoft.AlphaImageLoader".

Donc pour que ça marche il faut que tu es une image vide souvent appelée "blank.gif" et souvent a la racine de ton site.

Explication sur une version simple de ce script:

//récupere la source de l'image
    var src = img.src;
//assigne rien.gif comme source a l'image
    img.src = "rien.gif";
//Appilque l'ancienne source de l'image comme filtre à rien.gif
    img.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
		src + "',sizingMethod='image')";


Voilà comment ça marche, mais par contre ça pose probléme dans pas mal de situation:

Si le background d'une des balises qui contient l'image a un autre filtre ie comme la transparence tu prends des risques...

Si tu as des padding à ton image certain script comme celui écrit plus haut ne marche pas, ils enlévent les padding, il faut dans ce cas soit utliser d'autre script soit enlever les paddings.

Si tu as 50 images traitée avec ce script et selon comment il est écrit tu vas ralentir ta page, voir tu peux la bloquer, donc ne pas en abuser.

Enfin selon comment ton script est intégré tu vas voir apparaitre le png non-transparent soit gris au chargement de la page.
matmat a écrit :
Enfin selon comment ton script est intégré tu vas voir apparaitre le png non-transparent soit gris au chargement de la page.

À noter que le fond opaque des PNG-24 dans IE6 n'est pas nécessairement gris. On peut tout à fait enregistrer une couleur de fond différente.

Dans The GIMP : cocher l'option « enregistrer la couleur de fond ».
ça c'est super merci Florent Smiley biggrin , si ça tarde un peu c'est quand même plus sympa que la couleur soit dans l'ambience générale.