CSS之兼容

361 阅读2分钟

为什么会有兼容问题?

这是因为不同浏览器厂商对页面架构的解析不同。

常见的浏览器厂商:IE  chorme  fiefox  safari

浏览器的内核:

浏览器 内核
IE Trident
Chorme wedkit/blink
fiefox Gecko
safari webkit

引擎有:渲染引擎、JS引擎、V8引擎

兼容问题的解决方案:

  1. 使用CSS hake解决兼容问题
  2. 避免使用会产生兼容问题的CSS属性
  3. 其它兼容方法

使用CSS hake解决兼容问题:

使用CSS hake技术去兼容

注意:浏览器的版本是递减的(从高版本至低版本)先写高级版本认识的再写低级版本认识的。
  • \0   IE8认识(在属性值后边写一个\0,IE浏览器的IE8版认识)
  • +   IE7认识(在属性前写一个+号,IE浏览器的IE7版认识)
  • _   IE6认识(在属性前写一个下划线,IE浏览器的IE6版认识)
  • *   IE6和IE7都认识(在属性前写一个星号,IE浏览器的IE6版和IE7版都认识)

其它兼容方法:

IE的条件注释:

前提:只有IE认识,测试的时候要改变浏览器的模式版本

固定格式:
   < body>

   < !--[if IE8]>   版本是IE8版本   

大于 gt
大于或等于 gte
小于 lt
小于或等于 lte
非指定版本 !

使用meta兼容:(只能在360浏览器上去使用)

< meta name="randerer" content="weblit">如果编辑器中出现了这条代码就表示:页面在360浏览器打开时会使用极速模式打开.

常见的兼容问题:

display:inline-block在IE7下失效

解决方法:

* display:none;
*zoom:1

在写定位的时候top、left、bottom、right的值是0那么都要写上为了兼容IE6和IE7。