5568 sujets

Sémantique web et HTML

Bonjour,

J'ai besoin de transparence sur certaine de mes images.
J'ai essayé en gif, ca marche bien mais le résultat est moins joli qu'en png.
Mais comme ie6 ne le gere pas j'aurai voulu savoir si je peux faire en sorte que ie6 se serve de l'image gif et que les autres navigateurs utilisent mon image en png.

Le tout en restant valide w3c.

Merci.
Salut,
contremaitre a écrit :
moins joli qu'en png. Mais comme ie6 ne le gere pas
Inutile de compliquer les choses en servant des gif à ie6 et des png pour le reste. Les png 8 bits te permettent de faire tout ce que font les GIF (transparence incluse), et sont compatibles avec ie6.
marcv a écrit :
Salut,
Inutile de compliquer les choses en servant des gif à ie6 et des png pour le reste. Les png 8 bits te permettent de faire tout ce que font les GIF (transparence incluse), et sont compatibles avec ie6.

Ok, mais ca me donnera a peut pres la meme qualité que le GIF non ?
Ce qui veut dire que j'aurai toujours besoin d'une image pour ie6 et d'une autre pour les autres ?
Je ne te comprends pas. Si ça te donne "a peut pres la meme qualité que le GIF" et que c'est compatible avec tous les navigateurs, pourquoi veux-tu servir des GIF à IE6 ?
Car je ne connaissais pas le png 8 bit avec de la transparence compatible ie6.
Maintenant que tu m'en parle, je me dit que ca revient au meme, dans les deux car il faut servir deux images différentes selon le navigateur, ca ne change rien à ma question initiale.

Je vais donc commencer par essayer le conseil de Laurie-Anne, après la question gif/png pour ie6 est secondaire.
quoi j'ai raté un truc ?
je ne comprends pas tes remarques... et smiley.

Je résume mon problème :
J'ai besoin d'images transparentes et ie6 ne gere que les gifs et png 8bits.

Ces deux formats sont assez "mediocres" niveau qualité, donc je veux pouvoir utiliser les pngs 32 bits pour les autres navigateurs.
marcv, j'avoue ne pas comprendre tes remarques non plus.

Pour récapituler, la situation est la suivante:
- on veut pouvoir utiliser une image avec couche alpha, qui donne le rendu graphique souhaité;
- utiliser une image opaque ou bien la transparence binaire du GIF ou du PNG-8 donne un résultat non optimal, même si acceptable;
- un seul navigateur du marché n'est pas compatible avec la transparence graduelle (couche alpha) du PNG-32: IE6;
- pour IE6, on peut éventuellement passer par un filtre DirectX (AlphaImageLoader, à la main ou via un script tel que pngfix) ou par VML (via un script), mais ces moyens peuvent être lourds à mettre en place et ont en général des conséquences secondaires... bref, c'est pas un support natif;
- les commentaires conditionnels permettent d'adresser un code CSS spécifique à IE6.

Vu ces données, on peut donc juger intéressant de servir du PNG-32 (qualité optimale) à tous les navigateurs compatibles, et du PNG-8 ou GIF (qualité moindre) aux navigateurs non compatibles (IE6). Ça s'appelle de la dégradation gracieuse (graceful degradation), ou de l'amélioration progressive (progressive enhancement).

Quelque chose me dit, marcv, que tu connais déjà ces concepts et que tu avais juste mal compris certains éléments de ce sujet. Smiley cligne
Salut,

Je n'avais pas compris que tu parlais de semi-transparence (couche alpha) et donc de PNG 32. Tu ne parlais que de "transparence" et la mention des png 32 est arrivée juste avant le poste de Florent... Mais bon, visiblement j'ai tapé à côté, mes excuses.

Maintenant que je sais de quoi on parle Smiley biggrin , tu as aussi la solution de faire des PNG 8 bits semi-transparents (si, si), qui dégradent grasse-foulement sous ie6 (se comportent comme des GIF). Par contre, comme tu pourras le lire, il faut passer par Fireworks ou par des softs en ligne de commande. À toi de voir.
Modifié par marcv (02 Jul 2009 - 09:49)