总有IE浏览器和其他浏览器的分类,所以总有各种兼容问题(持续更新)
1. event.srcElement问题
问题说明:IE下,event对象有srcElement属性,但是没有target属性;Firefox下,even对象有target属性,但是没有srcElement属性。
解决方法:使用srcObj =event.srcElement ?event.srcElement : event.target;
2. ajax略有不同
IE:ActiveXObject
其他:xmlHttpReuest
3. event.x 与 event.y 问题
在IE中,event 对象有x,y属性,FF中没有
在FF中,与 event.x 等效的是 event.pageX ,但event.pageX IE中没有
故采用 event.clientX 代替 event.x ,在IE中也有这个变量
event.clientX 与 event.pageX 有微妙的差别,就是滚动条
要完全一样,可以这样:
mX = event.x ? event.x : event.pageX;
然后用 mX 代替 event.x
4. css中的width和padding
在IE7和FF中width宽度不包括padding,在Ie6中包括padding.
5. 边框:
border-radius: 最低兼容至 IE9,其它浏览器兼容情况优良。
box-shadow: 最低兼容至IE9, 其它浏览器兼容情况优良。
6. 背景:
background-size: 最低兼容至IE9, 其它浏览器兼容情况优良。
7.字体:
@font-face: IE9及以上版本的IE浏览器,支持引入任何格式的字体文件,而在IE9之前的浏览器,只支持引入EOT格式的字体文件。 其它浏览器兼容情况优良。
8. 2D转换:
transform: 最低兼容至IE9(需要添加-ms-前缀),其它浏览器兼容情况优良。在transform属性前加入浏览器内核前缀是很好的实践。不建议在svg元素上使用transform属性,最新版本的IE并不支持这一使用方式。
9. 3D转换:
IE10 和 Firefox 支持 3D 转换。Chrome 和 Safari 需要前缀 -webkit-。Opera 仍然不支持 3D 转换,它只支持2D 转换。
10. 过渡:
transition:最低兼容至IE10,其它浏览器兼容情况优良。Safari浏览器需要前缀-webkit-,其它大部分浏览器对此并未有前缀要求,因此除了特殊情况,可以不添加其它浏览器的前缀。
11. 动画:
animation:兼容情况与transition属性大致相同。