opacity--css + javascript兼容性代码
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 <ELEMENTSTYLE=... >
"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 ;
opacity--css + javascript兼容性代码的更多相关文章
- div+css通用兼容性代码整理
一.Div+css通用兼容性代码 你可以在css开头加入 *html{padding:0px} <style> *html{padding:0px} /* Clear Fix */ .cl ...
- html/css/javascript练习代码
这两天心血来潮学习了前端,自己也做了个小小的网页,不好看QAQ 不过网页上集结了很多零碎的知识,在这里先马克一下.图片地址:https://github.com/lesroad/html-css-js ...
- html+css+javascript实现列表循环滚动示例代码
使用html+css+javascript实现列表循环滚动,设置时间定时,在规定的时间内替换前一个节点的内容,具体示例如下,感兴趣的朋友可以参考下 说明:设置时间定时,在规定的时间内替换前一个节点的内 ...
- Brackets - 强大免费的开源跨平台Web前端开发工具IDE (HTML/CSS/Javascript代码编辑器)
Brackets 是一个免费.开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具).该项目由 Adobe 创建和维护,根据MIT许可证发布,支持 Wind ...
- [转载]Brackets - 强大免费的开源跨平台Web前端开发工具IDE (HTML/CSS/Javascript代码编辑器)
http://brackets.io/ Brackets 是一个免费.开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具).该项目由 Adobe 创建和维 ...
- IE和Firefox的Javascript兼容性总结
长久以来JavaScript兼容性一直是Web开发者的一个主要问题.在正式规范.事实标准以及各种实现之间的存在的差异让许多开发者日夜煎熬.为此,主要从以下几方面差异总结IE和Firefox的Javas ...
- 【总结】IE和Firefox的Javascript兼容性总结(转)
文章转自:http://www.cnblogs.com/wiky/archive/2010/01/09/IE-and-Firefox-Javascript-compatibility.html 长久以 ...
- [ 兼容 ] IE和Firefox的Javascript兼容性总结
长久以来JavaScript兼容性一直是Web开发者的一个主要问题.在正式规范.事实标准以及各种实现之间的存在的差异让许多开发者日夜煎熬.为此,主要从以下几方面差异总结IE和Firefox的Javas ...
- 记录下项目中常用到的JavaScript/JQuery代码二(大量实例)
记录下项目中常用到的JavaScript/JQuery代码一(大量实例) 1.input输入框监听变化 <input type="text" style="widt ...
随机推荐
- html5拖动滑块
html5中input有增加type=range.这为拖动滑块提供了很大的便利.下面是他的属性: <!DOCTYPE html> <html lang="en"& ...
- HTML 5的革新——语义化标签(一)HTML 5的革新——语义化标签(二)
HTML 5的革新之一:语义化标签一节元素标签. 在HTML 5出来之前,我们用div来表示页面章节,但是这些div都没有实际意义.(即使我们用css样式的id和class形容这块内容的意义).这些标 ...
- C. Hamburgers
Polycarpus loves hamburgers very much. He especially adores the hamburgers he makes with his own han ...
- Vue.js - day6
注意: 有时候使用npm i node-sass -D装不上,这时候,就必须使用 cnpm i node-sass -D 在普通页面中使用render函数渲染组件 在webpack中配置.vue组件页 ...
- this,call,apply,bind浅析
在JS中,this指向是一个难点,在本文中讲解几种常见的this指向问题,并介绍一下call,apply,bind这三个函数的用法. 一.常见的this指向情况 首先要明白一点就是,函数里面才会有th ...
- 详解ASP.NET缓存机制
文中对ASP.NET的缓存机制进行了简述,ASP.NET中的缓存极大的简化了开发人员的使用,如果使用得当,程序性能会有客观的提升.缓存是在内存存储数据的一项技术,也是ASP.NET中提供的重要特性之一 ...
- codevs 1313 质因数分解
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题目描述 Description 已知正整数 n是两个不同的质数的乘积,试求出较大的那个质数 . 输入描述 I ...
- layui模块规范
刚入公司不久,就开始做项目了,最后还是选择用layui来做前端的页面,一来是可以自适应,二来是用框架比较方便,简洁. 先看下Layui的介绍: layui 是一款采用自身模块规范编写的情怀级前端UI框 ...
- k8s master init and add node
目录 一. add google apt-key 二. k8s master init 三. k8s node add to master cluster(use this command when ...
- Promise中的next 另一个用法
const chainAsync = fns => { let curr = 0 ; const next = (...args) => fns[curr++](next,...args) ...