CSS兼容IE6,IE7,FIREFOX的一些收集

第一種,是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 */

第二種是使用IE專用的條件註釋
<!-- 其他瀏覽器 -->
<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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章