css设置opacity

之前看了别人写了一段关于opacity的css代码,没深入理解就copy过来自己用了一段时间,现在重新拿出来又深入研究了一下。

.cla{
/* IE 8 */
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; /* IE 5-7 */
filter: alpha(opacity=50); /* Netscape */
-moz-opacity:; /* Safari 1.x */
-khtml-opacity:; /* Good browsers */
opacity:;
}

我们知道opacity在IE9+中是完全支持的。

opacity IE6 IE7 IE8 IE9 IE10
NO NO NO YES YES
/* IE 8 */
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";

这行代码是为了解决IE8滤镜的问题,这行代码经过测试仅在IE8,和IE9中起作用

-ms-filter
IE6 IE7 IE8 IE9 IE10
NO NO YES YES NO

参考IE官网资料,可以看到Alpha Filter在IE9之后的版本就不在支持了,语法如下:

HTML
<ELEMENT STYLE=
"filter:progid:DXImageTransform.Microsoft.Alpha(sProperties)"
 ... >
Internet Explorer 5.5 or later
Scripting
object .style.filter =
"progid:DXImageTransform.Microsoft.Alpha(sProperties)"
Internet Explorer 5.5 or later

filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);在IE浏览器版本支持情况如下:

filter IE6 IE7 IE8 IE9 IE10
YES YES YES YES NO

所以为了支持IE8及IE8之前的版本不支持opacity的问题,可以这样写:

.cla{
/* IE 5-8 */
filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; /* Good browsers */
opacity:;
}
接下来我们来看filter: alpha(opacity=50);
filter: alpha(opacity=50);在IE浏览器支持情况如下:
filter IE6 IE7 IE8 IE9 IE10
YES YES YES YES NO

可以看到,filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";和filter: alpha(opacity=50);在IE浏览器中支持情况是一样的。但是filter: alpha(opacity=50);这种语法我没有查到相关资料。
所以为了支持IE8及IE8之前的版本不支持opacity的问题,也可以这样写:

.cla{
/* IE 5-8 */
filter: alpha(opacity=50); /* Good browsers */
opacity:;
}

接下来我们来看看怎么用JavaScript改变opacity的值:

var opacityValue = 0.5; // 值为0.5
myElement.style.opacity = opacityValue ; //Good browsers myElement.style.filter = "alpha(opacity=" + opacityValue*100 + ")"; // IE5-8 //下面这些情况可以不用考虑
myElement.style.MozOpacity = opacityValue ;
myElement.style.opacity = opacityValue ;
myElement.style.KhtmlOpacity = opacityValue ;

最新文章

  1. mac PHP配置
  2. Swift基础语法 、 元组(Tuple)
  3. 在C函数中保存状态:registry、reference和upvalues
  4. poj 1325 Machine Schedule 最小点覆盖
  5. System.Data.SQLite数据库简介
  6. github配置和git学习
  7. NSA Fuzzbunch分析与利用案例
  8. 浅谈Ajax 异步的几点细节
  9. 简单使用git和github来管理代码----配置与使用
  10. SpringBoot整合RabbitMQ-服务安装
  11. PAT B1020
  12. Gradle: Gradle Wrapper
  13. HDU6280 From Tree to Graph
  14. mybatis插入数据后返回自增的主键id
  15. use of objects can be less efficient than a procedural approach
  16. Java编程思想学习笔记——枚举类型
  17. 洛谷P2216 理想的正方形
  18. s12-day01-work02 python多级菜单展示
  19. js如何获取键盘高度
  20. eclipse如何优化构建的速度

热门文章

  1. centos6.3下postgresql-9.3安装记录
  2. 1102 采药 2005年NOIP全国联赛普及组
  3. JS小游戏
  4. 实现dedecms(PC端)全站动态浏览 并实现伪静态
  5. Ubuntu下软件的搜索与安装
  6. Install your Application into RaspberryPi2 and automatically start up
  7. 目后佐道IT教育:教学环境
  8. PyTorch在NLP任务中使用预训练词向量
  9. myeclipse 导入项目时no projects are found to import解决办法
  10. JDBC连接数据库详解