百转千回,万物皆变心不动,任清风自流。

html,css,jQuery,javascript,php,mysql,dedecms,phpcms,wordpress,linux,windows
  首页  :: 订阅 订阅  :: 管理

IE6,IE7,FF !important来hack

Posted on 2012-04-24 17:03  李潇喃  阅读(96)  评论(0)    收藏  举报
IE6,IE7,FF    IE7.0 出来了,对CSS的支持又有新问题。浏览器多了,网页兼容性更差了,疲于奔命的还是我们 ,为解决IE7.0的兼容问题,找来了下面这篇文章: 现在我大部分都是用!important来hack,对于ie6和firefox测试可以正常显示,但是ie7对!important可以正确解释,会导致页面没按要求显示!下面是三个浏览器的兼容性收集.   color:#000000;                  /* FF,OP支持 */ color:#0000FF\9;       /* IE8支持*/ [color:#000000;color:#00FF00;      /* SF,CH支持 */ *color:#FFFF00;                 /* IE7支持 */ _color:#FF0000;              /* IE6支持 */ 第一种,是CSS HACK的方法     height:20px; /*For Firefox*/     *height:25px; /*For IE7 & IE6*/     _height:20px; /*For IE6*/     注意顺序。     这样也属于CSS HACK,不过没有上面这样简洁。     #example { color: #333; } /* Moz */     * html #example { color: #666; } /* IE6 */     *+html #example { color: #999; } /* IE7 */ <!--其他浏览器 -->     <link rel="stylesheet" type="text/css" href="css.css" />     <!--[if IE 7]>     <!-- 适合于IE7 -->     <link rel="stylesheet" type="text/css" href="ie7.css" />     <![endif]-->     <!--[if lte IE 6]>     <!-- 适合于IE6及一下 -->     <link rel="stylesheet" type="text/css" href="ie.css" />     <![endif]--> 第三种,css filter的办法,以下为经典从国外网站翻译过来的。.     新建一个css样式如下:     #item {          width: 200px;          height: 200px;          background: red;     }      新建一个div,并使用前面定义的css的样式:     <div id="item">some text here</div>      在body表现这里加入lang属性,中文为zh:<body lang="en"> 现在对div元素再定义一个样式:     *:lang(en) #item{          background:green !important;     }      这样做是为了用!important覆盖原来的css样式,由于:lang选择器ie7.0并不支持,所以对这句话不会有任何作用,于是也达到了ie6.0下同样的效果,但是很不幸地的是,safari同样不支持此属性,所以需要加入以下css样式: #item:empty { background: green !important } :empty选择器为css3的规范,尽管safari并不支持此规范,但是还是会选择此元素,不管是否此元素存在,现在绿色会现在在除ie各版本以外的浏览器上。 对IE6和FF的兼容可以考虑以前的!important 个人比较喜欢用