28172 sujets

CSS et mise en forme, CSS3

Bonjour à tous et tout d'abord une bonne année !

J'ai une petite question en ce qui concerne les PNG et notre ami IE6.
Voilà j'utilise une image en background qui se trouve être en .png et j'ai un positionnement de 0 4px.

Je me suis rendu compte qu'en utilisant le filter prévu pour les png, la position ne ressort pas. En gros ça se met en haut à gauche directement.

Ma question donc, comment faire en sorte que la position soit effective sur le code filter ?


recherche li.valider input.rechercher {
background:url(../img/icon-loupe-btn.png) no-repeat 0 4px!important;
background: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/icon-loupe-btn.png', sizingMethod='crop');
padding-left:20px;	
}


Par avance merci.
Aurélie :: AM-Creation.net
Modifié par LiliBaby (08 Jan 2009 - 11:51)
LiliBaby a écrit :
Ma question donc, comment faire en sorte que la position soit effective sur le code filter ?

On ne peut pas. Le filtre DirectX utilisé ne rend pas le background capable de gérer le PNG-32, il rajoute une couche graphique entre le background et le contenu, en générant au passage tout un tas d'effets secondaires assez prise de tête.

Ma philosophie à l'heure actuelle est de traiter tous les PNG-32 en dégradation gracieuse pour IE6, ce qui peut se gérer ainsi:
- utilisation de PNG-32 avec une couleur de fond par défaut (bKGB chunk);
- utilisation d'une image en PNG-8 avec transparence alpha (les pixels translucides ne seront pas affichés par IE6);
- remplacement de l'image de fond normale par un fond JPEG (opaque) ou PNG-8 (transparence binaire), via un commentaire conditionnel visant IE6.