opacity在IE6~8下无效果,解决的办法
opacity在IE6~8下无效果,解决的办法
问题出现时rgba()在ie6下不出效果,最后查到是opacity的问题。
opacity是css3时出现的,目前主流浏览器都支持。but老IE是个麻烦的问题。
filter:alpha(opacity=50);
总结网上经验: 1 <!doctype html>
2 <html> 3 <head> 4 <meta charset='utf-8'> 5 <meta name='author' content='w201604007-宋英杰'> 6 <title>opacity</title> 7 <style type='text/css'> 8 html,body,div{margin:0;padding:0;} 9 body{background:#FFF;} 10 .s1{font-family:serif; 11 background-color:rgb(120,160,9);opacity:0.4;/*ff46,chrome49,opara36,ie9不透明度,透明度效果,包括了文字*/ 12 zoom:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=40);/*ie透明度效果,包括了文字*/
filter:alpha(opacity=40);zoom:1;position:static;
}
.s1 span{color:#000;position:relative;}/*文字、背景分离分别给样式,结合定位2.16.5.28更新*/
13 </style> 14 </head> 15 <body> 16 <p class="s1"><span>serif字体</span></p> 17 </body> 18 </html>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
直接rgba对底色加样式,再兼容ie6,代码如下:
1 <!doctype html> 2 <html> 3 <head> 4 <meta charset='utf-8'> 5 <meta name='author' content='w201604007-宋英杰'> 6 <title>opacity</title> 7 <style type='text/css'> 8 html,body,div{margin:0;padding:0;} 9 body{background:#FFF;} 10 .s1{font-family:serif; 11 background-color:rgba(169,169,169,0.7);/*opacity:0.4;ff46,chrome49,opara36,ie9不透明度,文字无*/ 12 zoom:1;filter:alpha(opacity=70)progid:DXImageTransform.Microsoft.gradient(startColorstr=#A9A9A9,endColorstr=#A9A9A9); 13 /*ie6测试,底色变成了#c2c2c2,有透明度效果,但也包括了文字*/ 14 </style> 15 </head> 16 <body> 17 <p class="s1"><span>serif字体</span></p> 18 </body> 19 </html>
抛砖引玉,有更好的方法,大家可以评论告知,互相学习。