您的位置:首页 > 其它

浏览器兼容性问题,主要针对IE6~7

2016-03-10 20:46 253 查看
浏览器兼容性问题,主要针对IE6~7

问题1:H5标签兼容性问题 <header><section><footer>等,利用以下方法

  1、三个标签在IE下不会创建,可以利用JS使用document.createElement方法来创建该内联元素,再将标签的display属性设置为block转换为块元素即可显示正常。

  2、调用成熟的js文件,<script src="js/html5shiv.js"></script>来调用html5shiv.html

问题2:元素浮动之后,能设置宽度的话就给元素加宽度.如果需要宽度是内容撑开,就给它里边的块元素加上浮动;

问题3:第一块元素浮动,第二块元素加margin值等于第一块元素的宽度,在IE6下会有间隙问题;

  1、不建议这么写

  2、直接使用浮动float解决

问题4、IE6下子元素超出父级宽高,会把父级的宽高撑开

  不要让子元素的宽高度超过父级

问题5、p标签包括块元素嵌套规则 <!--p td hn三个标签不能嵌套块元素-->

问题6、margin兼容性问题:margin-top传递,上下margin叠加问题

  1、margin-top传递:触发BFC,haslayput

  2、上下margin叠加:尽量使用同一方向上的margin(margin有四个方向)

问题7、display:inline-block:出来的比较晚,ie6不兼容 display前加*,zoom前加*

问题8、IE6 最小高度问题,默认为19像素

  加上overflow:hidden;

问题9、IE6 双边距

  针对IE6~7添加display:inline-block;

问题10、li内元素都浮动在IE6~7下方会产生4px的间隙

  针对IE6~7,添加vertical-align:top;

问题11、两个浮动元素中间有注释或者内联元素并且和父级宽度相差不超过3px

  1、两个浮动元素中间避免出现内联元素或者注释

  2、与父级宽度相差3px或以上

问题12、IE6~7 父级元素的overflow:hidden包不住子级的relative

  给父级元素添加相对定位

问题13、IE6下绝对定位元素父级宽高是奇数,绝对定位元素的right和bottom值会有1px的偏差

  避免父级宽高出现奇数

问题14、IE6下绝对定位元素和浮动元素并列绝对定位元素消失

  可以添加<p></p>等元素使他们不同级

问题15、IE6 下input的空隙

  给input元素添加float

问题16、IE6 下 输入类型表单控件背景问题

  给背景图片添加fixed值使其固定

问题17、PNG24图片兼容性问题

  1、添加一个封装JS:DD_belatedPNG_0.0.8a.滤镜js,再利用函数DD_belatedPNG.fix('元素名')来实现,但是不能处理body上的png24

  2、给元素添加CSS原生滤镜:_background:none;_filter : progid:DXImageTransform.Microsoft.AlphaImageLoader(src="XX.png", sizingMethod="crop");

另外:

css hack,在CSS属性前加以下:

\9 :对所有IE10以及之前浏览器有效

* :对所有IE7以及之前的浏览器有效

_ :对所有IE6以及之前的浏览器有效

样式优先级: 默认 < 类型 < class < id < 行间style < !important
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: