码迷,mamicode.com
首页 > Web开发 > 详细

一些css兼容问题

时间:2015-09-20 21:55:34      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

由于各浏览器的不同,会存在一些兼容问题,特别是兼容IE6/7/8

下面简单介绍了一些解决方法,更多问题可以访问 W3help.org来查看。


可以通过js获取浏览器版本

    document.body.innerHTML=navigator.userAgent

---
一些css兼容性问题
----

 1、reset技术     如:

        *{
        margin:0;
        padding:0;
    }   
      //过于粗暴,不建议使用

2.CSS优先级:通过权重值

    a.!important优先级最高  a=1 b,c,d=0
 
    b.!imporant>id>伪类、class>元素、伪元素

        id:b=1 a,c,d=0
        伪类、class:c=1 a,b,d=0
        元素、伪元素:a,b,c=0 d=1;
        *为0

    c.权重值越高优先级越高
    


3.CSS  Hack技术  (打补丁、不能滥用),主要针对浏览器解析不同,不认识的属性会忽略它,利用它可以解决部分兼容问题。

    1.IE6:属性前面加“_”。(只有IE6认识)
    2.IE7:属性值后面加“*,+,>,<”。(“*,+,>,<”  IE6、IE7都认识)。
    3.IE8:属性值后面加“*\0”。(IE8认识\0和\9)。

4.IE6中浮动第一个出现双倍margin。

    解决:_display:inline;

5.IE6,IE7高度塌陷
 
    hasLayout(是否为布局 标签)值为true或者false  

    解决:zoom放大缩小,触发IE6,IE7中的hasLayout为true   
    (*zoom:1;)

    非IE父元素跟随子元素移动 解决:加边框、overflow 、padding

6.图片默认间距  

      解决: float

7.IE6不支持min-height。

    解决:_height/height:auto !important;

不支持min-width

    //CSS表达式(尽量不用,要用就在IE6中)

     _width:expression
    (documentElement.clientWidth<500?"500px":"auto");

8.通过条件注释

    <!--[if lte IE 6]>
    这段内容只显示在版本小于等于IE6的
    <![endif]-->

一些css兼容问题

标签:

原文地址:http://www.cnblogs.com/yyan/p/4824305.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!