活到老学到老  

记录遇到问题的点点滴滴。

解决IE8下不兼容rgba()的解决办法

7年前发布  · 884 次阅读

解释以下rgba

    rgba的含义,r代表red,g代表green,b代表blue,a代表透明度。   

    rgba(0,0,0,.5) 这样就代表了黑色,透明度为0.5

 

要想解决在IE8下的透明度问题,可以增加这样一句话:

filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7f000000,endColorstr=#7f000000);    /*IE8支持*/

这句话本来是做渐变用的,但是这里没有渐变效果所以startColorstr和endColorstr设置为同一种颜色。

这里的#7f000000,#7f代表的是透明度,000000代表的是颜色,下面是透明度的对应表:

 

Css hack:

#test{
color:red; /* 所有浏览器都支持 */ 
color:red !important;/* Firefox、IE7支持 */
_color:red; /* IE6支持 */
*color:red; /* IE6、IE7支持 */
*+color:red; /* IE7支持 */
color:red\9; /* IE6、IE7、IE8支持 */
color:red\0; /* IE8支持 */
}

body:nth-of-type(1) p{color:red;} /* Chrome、Safari支持 */