美文网首页
浏览器兼容

浏览器兼容

作者: StarLikeRain | 来源:发表于2016-07-10 10:35 被阅读57次

    1、如何调试 IE 浏览器

    ①安装不同版本的IE浏览器

    ②安装IEtester这种模拟器测试工具等

    ③在IE浏览器里面做调试,IE7以上自带IE模拟器

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

    ①CSS hack就是利用IE里面各种“bug”来解决对于新属性不支持的问题,也有是由于浏览器渲染标准不同造成的,所以对于一些浏览器需要写一个特定的属性,不能一个属性通用所有浏览器。

    ②IE的hack有大致3中方法

    一、css属性前缀法

    例如:*display:inline;

             _display:inline;

    二、选择器前缀法

    例如:*html .class{}

    三、IE条件注释法

    例如:

    <!--[if IE]>

    这段文字只在IE浏览器显示

    <![endid]-->

    <!--[if IE 6]>

    这段文字只在IE6浏览器显示

    <![endif]-->

    <!--[if gte IE 6]>

    这段文字只在IE6以上(包括)浏览器显示

    <![endif]-->

    <!--[if ! IE 8]>

    这段文字在非IE8浏览器不显示

    <![endif]-->

    <!--[if ! IE]>

    this is a good browser

    <![endif]-->

    ③IE7和IE6可读「*」(米字号),IE6又可以读「_」(下划线),但是IE7却无法读取「_」,至于Firefox(非IE浏览器)则完全无法辨识「*」和「_」,因此就可以透过这样的差异性来区分IE6、IE7、Firefox

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

    IE7以下不支持min/max-height/width

    IE8以下不支持box-sizing

    更多可以参考www.caniuse.com

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

    是否对一个浏览器兼容需要看浏览器的市场占有率,目标用户的使用浏览器占有率,多浏览器的显示差异有多大。

    渐进增强——是指先写基础的样式,然后根据不同浏览器的特性追加样式。

    优雅降级——是一开始就构建好完整的页面,然后针对不同浏览器进行调试,修复。

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

    CSS Reset覆盖浏览器的CSS默认属性,将样式重置成相同的效果,且影响的范围很大,讲求跨浏览器的一致性。而Normalize.css注重通用的方案,保留有用的用户代理样式,同时也对一些bug进行了修复

    Normalize.css对比CSS Reset

    Normalize.css保留了有价值的默认样式

    Normalize.css修复了常见bug

    Normalize.css不会让调试工具变的杂乱

    Normalize.css是模块化的

    Normalize.css拥有详细的文档

    6、IE盒模型和标准盒模型有什么区别? 怎样使 IE678使用标准盒模型?box-sizing:border-box有什么作用

    ①ie678怪异模式(不添加 doctype)使用 ie 盒模型,宽度=边框+padding+内容宽度

    ②chrome, ie9+, ie678(添加 doctype) 使用标准盒模型,宽度= 内容宽度

    写上<!doctype HTML>就可以让IE6、IE7和IE8使用标准盒模型

    box-sizing:border-box就是让写出来的参数宽高包括padding、border和content,也就是等于IE的怪异盒模型。

    相关文章

      网友评论

          本文标题:浏览器兼容

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