整理的一些兼容写法
1、clac()方法:看情况加浏览器的前缀
eg: .elm {
width: -moz-calc(100%-80px);/*Firefox*/
width: -webkit-calc(100%-80px);/*chrome safari*/
width: calc(100%-80px);/*Standard*/
}
2、opacity兼容
透明度opacity:0.5
filter:alpha(opacity=50)ie8以下兼容
3、getComputerdStyle()方法:
if(window.getComputedStyle)
{alert(window.getComputedStyle(window,false).width)};
getComputedStyle(obj,false):在FF新版本中只需要第一个参数,即操作对象,第二个参数写“false”也是通用的写法,目的是为了兼容老版本的火狐浏览器。
获取float属性时:{alert(window.getComputedStyle(window,false).cssFloat)}
//FF、chrome、safari
else {alert(window.currentStyle.width); }
获取float属性时:{alert(window.currentStyle.styleFloat)}
//IE、Opera
扩充:Window getComputedStyle() 方法和 style 的异同
getComputedStyle 和 element.style 的相同点就是二者返回的都是 cssStyleDeclaration 对象,取相应属性值得时候都是采用的 CSS 驼峰式写法,均需要注意 float 属性。
而不同点就是:
element.style
读取的只是元素的内联样式,即写在元素的 style 属性上的样式;而 getComputedStyle
读取的样式包括了内联样式、嵌入样式和外部样式。
element.style
既支持读也支持写,我们通过 element.style
即可改写元素的样式。而 getComputedStyle
仅支持读并不支持写入。
我们可以通过使用 getComputedStyle 读取样式,通过 element.style 修改样式。
event兼容写法
var event=event || (event = window.event);
target兼容写法
var target=event.target||event.srcElement
阻止浏览器默认行为兼容写法
event.preventDefault ? event.preventDefault() : (event.returnValue = false)
注:ie兼容的是event.returnValue=false;
阻止事件冒泡的兼容
w3c的方法是e.stopPropagation(),IE则是使用e.cancelBubble = true