浏览器的兼容性
html5兼容
html5
有许多新增的标签,在不支持html5
的浏览器中不能一般显现。
处置惩罚要领:
运用html5
的静态资本;
到场剧本代码,document.createElement
建立新的标签,并display:block;
设置为块范例
css兼容
1、png24位的图片在ie6浏览器上涌现背景,处置惩罚方案是做成png8
2、浏览器默许的margin和padding差别,处置惩罚方案是 * {margin:0;padding:0;}
3、IE6双边距bug:块属性标签float后,又有横行的margin情况下,在ie6显现margin比设置的大
浮动ie发生的双倍间隔
#box {
float:left;
width:10px;
margin:0 0 0 10px;
}
这类情况下ie会发生20px的间隔
处置惩罚方案是在float的标签款式中到场_display:inline;(_这个标记只要ie6会辨认)
4、IE兼容
渐进辨认的体式格局
起首,"\9"将IE9浏览器从一切情况下星散出来
接着,"+"将IE8和IE7、IE6星散开来
.box{
background-color:#f1ee18; //一切都可辨认
background-color:#00deff\9; //IE6、7、8
+background-color:#a200ff; //IE6、7
_background-color:#1e0bd1; //IE6
}
5、IE前提解释
<!--[if IE 6]>此处内容仅IE6可见<![endif]-->
6、IE6没法定义1px摆布高度的容器,是因为默许的行高形成的,处置惩罚的要领也有许多,
比方: overflow:hidden zoom:0.08 line-height:1px
7、运用margin:0 auto;要领使容器居中依旧在IE6中行不通,我们要对其父容器运用text-align:center;
8、超链接接见递次L-V-H-A a:lind,a:visited,a:hover.a:active
9、Chrome中文界面下默许会将小于12px的文本强迫根据12px显现
处置惩罚方案:-webkit-text-size-adjust:none;
10、在运用相对定位/相对定位时,设置z-index在ie中可能会失效
是因为其元素依赖于其父元素的z-index,而父元素默许为0,所以子元素z-index高,而父元素低,依旧不会转变其显现递次;
javascript兼容
1、在规范的事宜绑定中绑定事宜的要领函数为 addEventListener,而IE运用的是attachEvent
2、规范浏览器采纳事宜捕捉的体式格局对应IE的事宜冒泡机制(即规范由最外元素至最内元素或许IE由最内元素到最外元素)末了规范方亦以为IE这方面的比较合理,所以便将事宜冒泡纳入了规范,这也是addEventListener第三个参数的由来,而且事宜冒泡作为了默许值。
3、事宜处置惩罚中event属性,规范浏览器是作为参数带入,而ie是window.event体式格局取得。
4、取得目的元素ie为e.srcElement 规范浏览器为e.target
5、IE下,能够运用猎取通例属性的要领来猎取自定义属性,也能够运用getAttribute()猎取自定义属性;
Firfox只能运用getAttribute()猎取自定义属性;
处置惩罚要领:一致运用getAttribute()
6、IE下,event对象有x,y属性,然则没有pageX,pageY属性;
Firefox,event对象有pageX,pageY属性,然则没有x,y属性。
处置惩罚要领:前提解释 <!--if lt ie>......<endif-->