美文网首页
浏览器兼容问题

浏览器兼容问题

作者: Bookish倩宝 | 来源:发表于2016-09-30 13:19 被阅读0次

浏览器内核

Trident:IE类
Gecko:FireFox
Presto:Opera
Webkit:Chrome,Safari

javascript兼容性问题

1 在标准的事件绑定中绑定事件的方法函数为 addEventListener,而IE使用的是attachEvent
2 标准浏览器采用事件捕获的方式对应IE的事件冒泡机制(即标准由最外元素至最内元素或者IE由最内元素到最外元素)
3 事件处理中非常有用的event属性获得亦不相同,标准浏览器是作为参数带人,而ie是window.event方式获得,获得目标元素ie为e.srcElement 标准浏览器为e.target
4 然后在ie中是不能操作tr的innerHtml的
5 然后ie日期函数处理与其它浏览器不大一致,比如: var year= new Date().getYear(); 在IE中会获得当前年,但是在firefox中则会获得当前年与1900的差值。
6 获得DOM节点的方法有所差异,其获得子节点方法不一致。
IE:parentElement parentElement.children
Firefox:parentNode parentNode.childNodes
当html中节点缺失时,IE和Firefox对parentNode的解释不同
IE:input.parentNode的值为空节点
Firefox:input.parentNode的值为form
Firefox中节点没有removeNode方法,必须使用如下方法 node.parentNode.removeChild(node)
7 ajax兼容性

CSS兼容

1 CSS Hack
2 css盒模型在IE6下解析有问题
3 IE6的双倍边距BUG,在块级元素浮动后本来外边距10px,但IE解释为20px,解决办法是加上display: inline
4 IE6下图片下方有空隙产生;
img 为display:block,或者设置vertical-align 属性为vertical-align:top bottom middle text-bottom都可以解决.
5 IE6 3px bug 两个浮动层中间有间隙
解决的办法是给右边元素也同样浮动 float:left
或者相对IE6定义.left margin-right:-3px;
6 在IE6中没有min-width的概念
7 IE6无法定义1px左右高度的容器
解决方案:overflow:hidden zoom:0.08 line-height:1px
8 使用margin : 0 auto;方法使容器居中依然在IE6中行不通,我们要对其父容器使用text-align:center
9 被点击访问过的超链接样式不在具有hover和active了
解决方法是改变CSS属性的排列顺序: L-V-H-A <style type="text/css"> a:link {} a:visited {} a:hover {} a:active {} /style>
10 在使用绝对定位/相对定位时,设置z-index在ie中可能会失效,是因为其元素依赖于其父元素的z-index,而父元素默认为0
11 外边距叠加问题:

#box{ margin:10px; background-color:Red; }
#box p { margin:20px; background:gray; }
<div id="box"><p>dd</p></div>

该代码会导致外边距叠加,并且外边距跑到div包裹外去,bug是由于块级子元素高度计算方式造成的。
12 layout元素有以下特点:
(1)拥有布局(haslayout=true)元素不会收缩,所以可能会发生文字截断、消失的现象;
(2)布局元素对浮动自动清理;
(3)相对定位的元素没有布局,这可能导致绝对元素定位偏差;
(4)拥有布局的元素外边距不叠加;
(5)滚动时,页面会有所跳动;
(6)边框消失
(7)像素偏差

元素本身就 haslayout:true
<html>, <body><table>, <tr>, <th>, <td><iframe>, 
<embed> (non-standard element),<object>, <applet> 
<img><hr><input>, <button>, <select>, <textarea>, <fieldset>, <legend>
zoom:1,被认为是最好的触发Layout的方法。
因为它对当前元素没有影响。 触发haslayout,相对来说比haslayout=false要简单。

相关文章

  • 浏览器兼容

    什么是浏览器兼容问题 为什么会有浏览器兼容问题 用到的网站 处理兼容问题的思路 渐进增强和优雅降级 stackov...

  • 常见浏览器兼容问题及解决

    一、什么是浏览器兼容问题所谓浏览器兼容问题就是指不同浏览器或同种浏览器不同版本对相同代码解析效果不同,浏览器兼容问...

  • 浏览器兼容

    为何会有浏览器兼容问题 因为市场上的浏览器有很多,不同的浏览器内核对网页的解析存在差异,这也是导致浏览器兼容问题出...

  • 浏览器兼容

    1. 概要 什么是浏览器兼容问题? 同一份代码,有的浏览器效果正常,有的不正常 为什么会有浏览器兼容问题 同一产品...

  • 浏览器兼容相关概念

    什么是浏览器兼容问题?为什么会有浏览器兼容问题? 同一份代码,有的浏览器效果正常,有的不正常 同一产品,版本越老 ...

  • 浏览器兼容

    什么是浏览器兼容问题 同一份代码,有的浏览器效果正常,有的不正常 为什么会有浏览器兼容问题 同一产品,版本越老 b...

  • Browser Hack整理

    浏览器的兼容问题 1.浏览器内核:Mozilla Firefox ( Gecko )Internet Explor...

  • 盒模型 IE与W3C

    ![Uploading image_302998.png . . .] 浏览器兼容问题 由于IE浏览器使用自己的非...

  • 浏览器能力检测

    浏览器的兼容问题是前端开发避不开的一个问题,我们在处理浏览器兼容问题时,可以采取第三方插件来做兼容,或者是浏览器能...

  • Html引用实现不同浏览器兼容问题

    Html引用实现不同浏览器兼容问题 在head部分插入即可

网友评论

      本文标题:浏览器兼容问题

      本文链接:https://www.haomeiwen.com/subject/nwvlyttx.html