zoukankan      html  css  js  c++  java
  • CSS HACK的方法

    所有浏览器 通用 height: 100px; 

    IE6 专用 _height: 100px; 

    IE7 专用 *+height: 100px; 

    IE6、IE7 共用 *height: 100px; 

    IE7、FF 共用 height: 100px !important; 

    例如: 

    #example { height:100px; } /* FF */ 

    * html #example { height:200px; } /* IE6 */ 

    *+html #example { height:300px; } /* IE7 */ 

    下面的这种方法比较简单 

    举几个例子: 

    1、IE6 - IE7+FF 

    #example { 

    height:100px; /* FF+IE7 */ 

    _height:200px; /* IE6 */ 

    其实这个用上面说的第一种方法也可以 

    #example { 

    height:100px !important; /* FF+IE7 */ 

    height:200px; /* IE6 */ 

    2、IE6+IE7 - FF 

    #example { 

    height:100px; /* FF */ 

    *height:200px; /* IE6+IE7 */ 

    3、IE6+FF - IE7 

    #example { 

    height:100px; /* IE6+FF */ 

    *+height:200px; /* IE7 */ 

    4、IE6 IE7 FF 各不相同 

    #example { 

    height:100px; /* FF */ 

    _height:200px; /* IE6 */ 

    *+height:300px; /* IE7 */ 

    或: 

    #example { 

    height:100px; /* FF */ 

    *height:300px; /* IE7 */ 

    _height:200px; /* IE6 */ 

    需要注意的是,代码的顺序一定不能颠倒了,要不又前功尽弃了。因为浏览器在解释程序的时候,如果重名的话,会用后面的覆盖前面的,就象给变量赋值一个道理,所以我们把通用的放前面,越专用的越放后面 

    解释一下4的代码: 

    读代码的时候,第一行height:100px; 大家都通用,IE6 IE7 FF 都显示100px 

    到了第二行*height:300px; FF不认识这个属性,IE6 IE7都认,所以FF还显示100px,而IE6 IE7把第一行得到的height属性给覆盖了,都显示300px 

    到了第三行_height:200px;只有IE6认识,所以IE6就又覆盖了在第二行得到的height,最终显示200px 

    这样,三个浏览器都有自己的height属性了.

    *+html 对IE7的兼容 必须保证HTML顶部有如下声明: 

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 

  • 相关阅读:
    使用数组实现简单线性表功能
    解析.NET 许可证编译器 (Lc.exe) 的原理与源代码剖析
    Entity Framework with NOLOCK
    64位CentOS 6.0下搭建LAMP环境
    如何正确看待Linq的DistinctBy扩展和ForEach扩展
    jQuery最佳实践
    大话数据结构-树
    hdu2534-Score
    WKE——Webkit精简的纯C接口的浏览器
    WM_ERASEBKGND官方解释(翻译),以及Delphi里所有的使用情况(就是绘制窗口控件背景色,并阻止进一步传递消息)
  • 原文地址:https://www.cnblogs.com/jiechen/p/4812328.html
Copyright © 2011-2022 走看看