美文网首页
浏览器兼容以及调试问题

浏览器兼容以及调试问题

作者: 尹萨萨 | 来源:发表于2016-08-30 12:19 被阅读0次

    1. 如何调试 IE 浏览器

    • 对于IE8 以上版本可使用自带功能进行调试

    • 也可以下载ietaster进行调试

      (但以上方法调试结果不完全准确,会和实际环境有偏差)


      IE8以上自带调试功能
    • 可通过对元素添加border进行调试

    • 可通过对元素添加outline进行调试

    • 可通过添加javascript来进行调试

    • 可以安装模拟器进行调试(此方法的调试结果更准确)

    2. 什么是CSS hack?在 CSS 和 HTML里如何写 hack?在 CSS 中 ie6、ie7的 hack 方式?

    • CSS hack

    简单的说,CSS hack的目的就是使你的CSS代码兼容不同的浏览器。也可以反过来利用CSS hack为不同版本的浏览器定制编写不同的CSS效果。
    因为不同厂商的浏览器、以及相同浏览器的不同版本,对于css的解析都有所不同,导致页面的解析渲染效果也会出现差别。 这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。

    正常的样式放前面,针对hack的样式写在后面

    CSS hack方式一:条件注释法

    <!--[if ie6]>
    <p>这是IE 6 浏览器</p>
    <![end if]-->
    /* 语义为在IE6时显示上述文字 */
    

    CSS hack方式二:类内属性前缀法
    CSS hack方式三:选择器前缀法
    CSS3选择器结合JavaScript的Hack

    IE 7 可用星号 “ * ” *background:black; /*IE7 背景變黑色*/

    IE 6 可用下滑线“ _ ” _background:orange; /*IE6 背景變橘色*/

    CSS hack
    IE 6 7 8 hack

    3. 列举几种 浏览器兼容问题

    • inline-block IE 8以下不支持
      需要添加
     *zoom:1;
    display:inline;
    

    兼容问题出现的情况有很多,我们平时是可通过查询 Can I Use 网站查询兼容情况,然后在去找处理的相关代码以及方法。例如CC或者是browser去解决
    查阅网站:
    IE浏览器

    4. 针对兼容、多浏览器覆盖有什么看法?渐进增强优雅降级是什么意思?

    • 根据实际的情况去做浏览器的兼容与覆盖。例如相关浏览器的占比,目标用户使用浏览器的情况等等去做权衡。将开发成本和实际效果做大最大化。
    • 优雅降级:

    是指先在最新版本的浏览器中进行开发,然后再针对低版本浏览器进行兼容,不追求与高版本一致,减少用户体验的供给,只保证最基本的功能。由复杂到基础的化简。

    • 渐进增强:

    针对低版本浏览器进行构建页面,保证最基本的功能,然后在针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。由基础到复杂的过程。

    5. reset.css和normalize.css分别是做什么的?为什么推荐使用 nomalize.css?

    • reset.css 是对于标签元素样式的重置,消除他们自带的标准样式,避免给整个页面带来影响
    • normalize.css 则是传统reset的替换方案,他优化了原来的清楚默认样式的方式。
    • 保护有用的浏览器默认样式而不是完全去掉它们
    • 修复了浏览器的bug并保证各浏览器的一致性
    • 有目的地对目标元素设置样式,不会让你的调试工具变的杂乱。而Reset在浏览器调试工具中存在着大量的继承链。
    • Normalize.css 是模块化的,可以选择性的移除属性
    • 拥有详细的文档

    参考资料

    6. IE盒模型和标准盒模型有什么区别? 怎样使 IE678使用标准盒模型?box-sizing:border-box有什么作用
    盒模型由content,padding,border,margin四个部分组成;
    • IE盒模型: width值为content+padding+border
    • 标准盒模型: width值为content

    对于IE6、7、8,如需使用标准盒模型可以通过在HTML中设置声明Doctype即可

    box-sizing:border-box;是css3新增属标签
    box-sizing:有三个属性

    • border-box;设定的元素宽高包括border,padding,content(IE盒模型)
    • content-box;设定的元素宽高即是内容的宽高;(标准盒模型)
    • inherit 规定应从父元素继承 box-sizing 属性的值;

    虚拟机的安装


    QQ截图20160830113449.png ie7.png IE6.png IE8.png

    virtualbox 下载链接
    镜像系统下载网址

    本文版权归作者及饥人谷所有!

    相关文章

      网友评论

          本文标题:浏览器兼容以及调试问题

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