28172 sujets

CSS et mise en forme, CSS3

Bonjour,

Je souhaiterais mettre un fond transparent avec rgba() pour tous les navigateurs sauf IE qui ne gère pas ceci et me rabattre sur opacity pour ce dernier.

J'en suis venu à ceci, sans utiliser de hack ou trucs bizarres :

.exemple {
        background-color : rgba(51, 51, 51, 0.7) !important;
        background-color : #333333;
        filter      : alpha(opacity=70);
        -ms-filter  : progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
}


Il ne me semble pas l'avoir vue ailleurs (après quelques recherches rapides), je la partage donc ici.

Ça à l'air de plutôt bien fonctionner. Y a-t-il d'autres techniques connues ?

Merci d'avance pour vos réponses.

Cordialement,
Savage.
Salut,
Savageman a écrit :
sauf IE qui ne gère pas ceci

À ceci près qu'IE 9 reconnaît rgba (). Smiley cligne

Soit dit en passant, il est plus judicieux de rassembler les correctifs pour telle ou telle version d'IE dans une feuille de style appelée via un commentaire conditionnel ciblant lesdites versions d'IE : ça évite de servir des -ms-filter et autres filter aux versions d'IE non concernées (ici IE 9).