zoukankan      html  css  js  c++  java
  • 【收集】各种hack

    1. 用!important解决IE和Mozilla的布局差别

      原文出自:http://www.w3cn.org/article/tips/2004/91.html,感谢作者无私奉献!
      !important是CSS1就定义的语法,作用是提高指定样式规则的应用优先权。语法格式{sRule !important },即 写在定义的最后面,例如:box{color:red !important;}。
      最重要的一点是:IE一直都不支持这个语法,而其他的浏览器都支持。因此我们就可以利用这一点来分别给IE和其他浏览器不同的样式定义。
      值得注意的是,FF对于”!important”会自动优先解析,而IE会忽略。并且一定要将xxxx !important 这句放置在另一句之上。

      .colortest { 
      border:20px  solid #60A179 !important;
      border:20px  solid #00F;
      padding: 30px;
      width : 300px;
      } 

       

      对于ie6和firefox测试可以正常显示,ie7对!important可以正确解释,但是会导致页面没按要求显示!搜索了一下,找到一个针对IE7不错的hack方式就是使用“*+html”,以后这样写:

      #example { color: #333; } /* Moz */
      * html #example { color: #666; } /* IE6 */
      *+html #example { color: #999; } /* IE7 */

      *+html 与 *html 是IE特有的标签, firefox 暂不支持, 而*+html 又为 IE7特有标签。
      注意:*+html 对IE7的HACK 必须保证HTML顶部有如下声明
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

      还有一种方法,来自载时学院——老朱。上边的方法是加上!important,该行语句除了ie会忽略词句,其他都会看到。也可以加“_**px;”,那么这条语句,是正好相反,他只有IE6认,其他浏览器都会忽略。    注:IE6在解析宽度的时候,会比其他浏览器多解析0.6%,所以做兼容的时候要去掉(这也是来自载时学院的测试)
      总结一下:IE6相对于其他浏览器,解析宽度的时候会多解析2个像素的宽度,即0.6%,做兼容的时候一定要把他减掉,所以利用“!important”对于非IE6识别,“_width”!

      PADDING-TOP: 11px !important;/*针对非IE6。另外,这一句一定要写到上边!*/ 
      PADDING-TOP: 9px; /*针对IE6*/
        IE6 IE7 FF
      * ×
      !important ×
      _ × ×
    2. height解决在IE中①鼠标进入a块即可触发鼠标hover效果,而非移动到文字上②父子定位的padding(前沿科技P212
  • 相关阅读:
    hdu4549 M斐波那契数列(矩阵快速幂+费马小定理)
    E. 因数串(EOJ Monthly 2020.7 Sponsored by TuSimple)
    2019春总结作业
    大一下半年学期总结
    ball小游戏
    贪吃蛇
    链接远程仓库
    git自动上传脚本及基本代码
    模板 --游戏
    飞机小游戏
  • 原文地址:https://www.cnblogs.com/sxwkt/p/2960295.html
Copyright © 2011-2022 走看看