Héritage de la transparence sur IE8 en css #opacity
La propriété opacity en css permet de rendre un élément et ses enfant transparent
#element { opacity : 0.2; }
Sur IE, cette propriété est supporté à partir de IE9, en dessous il faudra utiliser des propriétés spécifiques, dans mon cas j'ai eu besoin que cela fonctionne sous IE 8 avec -ms-filter :
#element { opacity : 0.2; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"; }
Sauf que cette propriété n'affecte pas tous les enfants. Pour que les enfants héritent également de la transparence sous IE il faut leur préciser l'héritage avec inherit :
#element img { -ms-filter: inherit; } /* ou tous les enfants */ #element * { -ms-filter: inherit; }
Pour annuler la transparence et donc réinitialiser -ms-filter :
#element.default { opacity: 1; /* Navigateurs récents */ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(enabled=false)"; }













