浏览器的兼容性

html5兼容

html5有很多新增的标签,在不支持html5的浏览器中不能正常显示。
解决方法:
使用html5的静态资源;
加入脚本代码,document.createElement创建新的标签,并display:block;设置为块类型

css兼容

1、png24位的图片在ie6浏览器上出现背景,解决方案是做成png82、浏览器默认的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-->

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值