浏览器兼容性

  1. 什么是 CSS hack
    由于各个厂商推出的浏览器的不同,和浏览器的版本不同,导致同一份的css 文件解析出来的效果不一样。为了让解析出来的效果一样,而针对不同的浏览器编写相应的css 文件,这个过程称为css hack。

  2. 谈一谈浏览器兼容的思路
    一、什么是浏览器的兼容问题; 同一份代码,不同浏览器显示的效果不一样。
    二、为什么会有兼容性的问题; 浏览器的种类不同,浏览器的版本不同
    三、怎么去解决兼容性的问题: 首先要考虑要不要去解决这个问题,从成本和需求上来考虑;其次考虑要做到什么程度;最后采用什么方式去解决问题:1.选择相应的框架/库;2.选择相应的兼容性工具;3. 采用什么方式:逐步增强还是优雅降级 4.使用css hack,ie注释、js能力检测进行修补;

  3. 列举5种以上浏览器兼容的写法
    一、IE条件注释 如果浏览器为ie6 则使用
    二、属性前缀发
    .p{
    display: inline-block;
    *display: inline; ie6、7
    *zoom: 1; ie6、7

             color: yellow;
            *color: green;  ie6、7
             _color: red;  ie6
             color: blue\9;  ie6~10
               }              
    

    三、选择器前缀法
    -webkit-rtl-ordering等
    前面加-webkit-(safari、chrome);
    -ms-(微软);
    -0-(opera);
    -moz-(firefox)

四、使用modernizr ,知道哪些特性可以使用,带no的bu不能使用

    

五、混合处理:IE条件注释法结合选择器整体优化

    
    
      
    
    
    
  1. 以下工具/名词是做什么的
    条件注释 这个是IE浏览器独有的,让IE浏览器根据自身的版本不同来加载不同的文件
    IE Hack 根据IE浏览器的不同而编写不同的的css而让它正常显示
    js 能力检测 不是检测具体的浏览器(即浏览器的版本),而是检测浏览器的能力(浏览器能干哪些)
    html5shiv.js 模拟html5标签
    respond.js 使用媒体查询
    css reset 样式重写 ,通通将样式归零,重写
    normalize.css 优雅版的样式重写,保留浏览器有些样式,然后在重写相关样式
    Modernizr js 能力检测,知道哪些属性不能使用;而哪些可以使用。测试当前UA中可用的原生CSS3和HTML5功能,并通过两种方式为您提供结果:作为全局Modernizr对象上的属性和元素上的类。 此信息允许您逐步增强您的页面,对您的体验进行细粒度的控制。
    postCSS 给属性加前缀;是一个使用JS插件转换样式的工具。 这些插件可以删除您的CSS,支持变量和混合,透明未来的CSS语法,内联图像等。
  2. 一般在哪个网站查询属性兼容性?
    www.caniuse.com
    **严禁转载,违者必究!

你可能感兴趣的:(浏览器兼容性)