浅谈浏览器兼容性问题--工具及调试

前言

浏览器兼容性的问题,即使积累得更多,也会有新的问题出现。此时我们就需要会(利用工具)调试及解决问题。下面以一个滚动条宽度位置的问题为例说明此点。

问题

这个网址下的表格,在IE7模式下,会有一部分的内容被滚动条覆盖了 滚动条问题

解决

我们要利用开发人员工具一层层循序寻找看是哪个元素导致的问题,是里面的太大,还是外面的太小?其实图中我已经找好了,是里面的表格元素大了一点,而且是IE7下面才有的问题,所以,迅速地在css中加上+table_list{width:98%;},问题解决了。 http://gh.p2227.com/demo/applyLayout/playout.html

思考

width:100%的意义是什么呢,跟width:auto又有什么区别?我找到了这篇博客,里面讨论到了margin的问题,但我的代码中并没有margin,所以我自己做了测试。针对width:100%和width:auto的区别 width:100%的测试代码    width:auto的测试代码

效果图:

IE6宽度100%IE7宽度100%IE8宽度100%IE6宽度autoIE7宽度autoIE8宽度auto

小结一下,IE6宽度100%,滚动条不见了,但中键能滚动,目测是滚动条生成在table的外面;IE7宽度100%,滚动条与table重叠,table的部分内容看不见;IE8宽度auto,宽度是以内容去适应的,并不是parent对象的宽度

用表格来整理如下
| |宽度100%|宽度auto|
|--|--|--|
|IE6|滚动条附加在scroll元素以外|宽度适合,内容显示完整|
|IE7|滚动条叠加在scroll元素内,内部元素宽度没有把滚动条排除|宽度适合,内容显示完整|
|IE8|宽度适合,内容显示完整|宽度以内容为准,并不会适应parent元素|

注:IE9以上在一点上的表现与IE8基本相同

##更好的解决方案
综上,我们针对IE67用`宽度auto`,其他情况用`宽度100%`是更好的解决方案
[代码](http://gh.p2227.com/demo/BrowserCompatibility/debug/scrollBar-hack.html)

我们面对兼容性问题,一方面可以根据一些基本的原理及以往经验去修改,另外一方面是分析调试、罗列测试与新积累。如此**发现-解决-思考-整理**从而得出更好的解决方法。

##参考
http://blog.csdn.net/wgw335363240/article/details/7043861

http://www.cnblogs.com/aaronjs/p/3565253.html

小结一下,IE6宽度100%,滚动条不见了,但中键能滚动,目测是滚动条生成在table的外面;IE7宽度100%,滚动条与table重叠,table的部分内容看不见;IE8宽度auto,宽度是以内容去适应的,并不是parent对象的宽度

用表格来整理如下

 宽度100%宽度auto
IE6滚动条附加在scroll元素以外宽度适合,内容显示完整
IE7滚动条叠加在scroll元素内,内部元素宽度没有把滚动条排除宽度适合,内容显示完整
IE8宽度适合,内容显示完整宽度以内容为准,并不会适应parent元素

注:IE9以上在一点上的表现与IE8基本相同

更好的解决方案

综上,我们针对IE67用宽度auto,其他情况用宽度100%是更好的解决方案 代码

我们面对兼容性问题,一方面可以根据一些基本的原理及以往经验去修改,另外一方面是分析调试、罗列测试与新积累。如此发现-解决-思考-整理从而得出更好的解决方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值