常见浏览器兼容性问题

先上图:html

能够看出如今主流浏览器明显就是chrome了,固然还有至关一部分IE用户,因此浏览器兼容性的讨论依然没有过时~chrome

咱们来讨论IE7+和现代浏览器的兼容性吧,咱们分开两部分 样式兼容 和 脚本兼容浏览器

一.样式兼容spa

1)最常碰见的margin paddingcode

当咱们只写HTML,不加样式控制的状况下,各自浏览器的默认margin 和padding差别较大。orm

最简单的方法就是用通配符  *{margin:0;padding:0;}htm

固然也有一些比较好的初始话的样式定义,我我的就比较喜欢用一下这一套:对象

html{color:#000;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select{*font-size:100%;}
legend{color:#000;}

2)几个inline或者inline-block排列有默认空隙blog

我的建议用float去消除间隙,有人会用负margin解决,可是每一个浏览器的默认间距不必定同样,这会有兼容性问题~事件

二.脚本兼容

脚本兼容无外乎浏览器支不支持哪一个属性或者,哪一个方法,所以绝大部分的脚本兼容性问题都是用if else来解决~

1.event对象兼容

兼容事件对象  var oEvent=ev||event;

document.onkeydown=function (ev)
{
    var oEvent=ev||event;
    console.log(oEvent);
};
相关文章
相关标签/搜索