• css hacker


    firefox认为是CSS语法错误,所以忽略。但是不同IE版本识别不同,不忽略,

    所以能实现hack,并且*+HTML还能通过W3C验证

                 IE6  IE7   FF

    *          √  √  ×

    !important    ×  √  √

    background:orange; *background:red !important; *background:blue;

    background:orange; *background:blue;

    IE678 表现一样都为blue ,貌似important不起作用  FF均为orange

    background:orange;*background:green;_background:blue

    IE全都是blue

    IE             FF

    background:orange      678均识别       yes

    _background:red;       678均识别       no

    *background:blue       678均识别       no

    区别IE6与FF:

           background:orange;*background:blue;

    心得:ie678均为blue,FF为orange

    区别IE6与IE7:

           background:green !important; background:blue;

    心得:IE 均为后者定义的,看来都不识别important,而FF则是按important来的 

    区别IE7与FF:

           background:orange; *background:green;

    心得:同上

    区别FF,IE7,IE6:

           background:orange;*background:green !important;*background:blue;

    总结 ie都不识别important ,IE678如何区分????

    FF 不识别  *background  _background 之类的

    不过总算区分出IE 与FF了!!!也就是说在变现不同的地方重定义以下就OK了   

      

    1、IE6 margin加倍  浮动闭合   IE与FF在容器width与height计算上的差异   

    2、ff下容器高度限定,即容器定义了height之后,容器边框的外形就确定了,不会被内容撑大,

    而ie下是会被内容撑大,高度限定失效。所以不要轻易给容器定义height   

    3、 文字本身的大小不兼容。同样是font-size:14px的宋体文字,在不同浏览器下占的空间

    是不一样的,ie下实际占高16px,下留白3px,ff 下实际占高17px,上留白1px,

    下留白3px,opera下就更不一样了。解决方案:给文字设定 line-height 。确保所

    有文字都有默认的 line-height 值   

    4、横向上的撑破容器问题,。如果float 容器未定义宽度,ff下内容会尽可能撑开容器宽度,

    ie下则会优先考虑内容折行。故,内容可能撑破的浮动容器需要定义width

    4.最被痛恨的,double-margin bug。ie6下给浮动容器定义margin-left 或者margin-right 

    实际效果是数值的2倍。解决方案,给浮动容器定义display:inline

    5.mirror margin bug,当外层元素内有float元素时,外层元素如定义margin-top:14px,

    将自动生成margin-bottom:14px。 padding也会出现类似问题,都是ie6下的特产,

    该类bug 出现的情况较为复杂,远不只这一种出现条件,还没系统整理。解决方案:

    外层元素设定border 或 设定float

    6. 吞吃现象。还是ie6,上下两个div,上面的div设置背景,却发现下面没有设置背景

    的div 也有了背景,这就是吞吃现象。对应上面的背景吞吃现象,还有滚动下边框

    缺失的现象。解决方案:使用zoom:1。这个zoom好象是专门为解决ie6 bug而生的

    9. 失去line-height。<div style=”line-height:20px”><img />文字</div>,很遗憾,

    在ie6下单行文字 line-height 效果消失了。。。,原因是<img />这个inline-block

    元素和inline元素写在一起了。解决方案:让img 和文字都 float起来

    12.ie6下严重的bug,float元素如没定义宽度,内部如有div定义了height或zoom:1,

    这个div就会占满一整行,即使你给了宽度。float元素如果作为布局用或复杂的容器,

    都要给个宽度的

    13.ie6下的bug,绝对定位的div下包含相对定位的div,如果给内层相对定位的div高度

    height具体值,内层相对层将具有100%的width值,外层绝对层将被撑大。解决

    方案给内层相对层float属

  • 相关阅读:
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xef in position 99: invalid continuation byte
    Java的内存机制
    sort
    ajax()函数传值中文乱码解决方法介绍
    三种实现Ajax的方式
    找到div下的第一个ul
    POI 单元格
    js对字符串进行编码方法总结
    相对路径和绝对路径的区别,java获取项目访问路径的方法
    sql存储过程几个简单例子
  • 原文地址:https://www.cnblogs.com/xiangzi888/p/2209519.html
Copyright © 2020-2023  润新知