!important在ie7.0的hack方法
更新時(shí)間:2006年08月26日 00:00:00 作者:
由于ie對(duì)!important識(shí)別存在bug,而現(xiàn)在大部分網(wǎng)頁(yè)標(biāo)準(zhǔn)設(shè)計(jì)師又通過(guò)這個(gè)bug來(lái)兼容ie和ff,但是ie7.0把這個(gè)bug給修復(fù)了,所以問題又出現(xiàn)了,怎么兼容ie.7.0的同時(shí)又能兼容ie6.0和ff?正所謂"上有政策,下有對(duì)策",國(guó)外的網(wǎng)頁(yè)標(biāo)準(zhǔn)設(shè)計(jì)師通過(guò)使用css filter的辦法(并不是css hack)來(lái)兼容ie7.0,ie6.0和ff,以下為我從國(guó)外網(wǎng)站的翻譯.
新建一個(gè)css樣式如下:
#item {
width: 200px;
height: 200px;
background: red;
}
新建一個(gè)div,并使用前面定義的css的樣式:
<div id="item">some text here</div>
在body表現(xiàn)這里加入lang屬性,中文為zh:
<body lang="en">
現(xiàn)在對(duì)div元素再定義一個(gè)樣式:
*:lang(en) #item{
background:green !important;
}
這樣做是為了用!important覆蓋原來(lái)的css樣式,由于:lang選擇器ie7.0并不支持,所以對(duì)這句話不會(huì)有任何作用,于是也達(dá)到了ie6.0下同樣的效果,但是很不幸地的是,safari同樣不支持此屬性,所以需要加入以下css樣式:
#item:empty {
background: green !important
}
:empty選擇器為css3的規(guī)范,盡管safari并不支持此規(guī)范,但是還是會(huì)選擇此元素,不管是否此元素存在,現(xiàn)在綠色會(huì)現(xiàn)在在除ie各版本以外的瀏覽器上,并在以下瀏覽器和操作系統(tǒng)下通過(guò)測(cè)試:
ie7 beta 2 preview/win
ie5.01+/win
firefox 1.5/win
opera 8.5/win & linux
netscape 7.01, 8/win
mozilla 1.7.12/win & linux
safari 2/mac
firefox 1.0.4/linux
epiphany 1.4.8/linux
galeon 1.3.20/linux
按照遠(yuǎn)作者的說(shuō)法其實(shí)這不能算是一種hack,應(yīng)該屬于filter,不過(guò)這似乎并不是最重要的,因?yàn)橥ㄟ^(guò)這個(gè)辦法,我們又一次了解決IE6.0,IE7.0和其他瀏覽器之間的兼容性問題,而且使用:lang-filter這辦法,在今后的一段時(shí)間內(nèi)都會(huì)有用 。
新建一個(gè)css樣式如下:
#item {
width: 200px;
height: 200px;
background: red;
}
新建一個(gè)div,并使用前面定義的css的樣式:
<div id="item">some text here</div>
在body表現(xiàn)這里加入lang屬性,中文為zh:
<body lang="en">
現(xiàn)在對(duì)div元素再定義一個(gè)樣式:
*:lang(en) #item{
background:green !important;
}
這樣做是為了用!important覆蓋原來(lái)的css樣式,由于:lang選擇器ie7.0并不支持,所以對(duì)這句話不會(huì)有任何作用,于是也達(dá)到了ie6.0下同樣的效果,但是很不幸地的是,safari同樣不支持此屬性,所以需要加入以下css樣式:
#item:empty {
background: green !important
}
:empty選擇器為css3的規(guī)范,盡管safari并不支持此規(guī)范,但是還是會(huì)選擇此元素,不管是否此元素存在,現(xiàn)在綠色會(huì)現(xiàn)在在除ie各版本以外的瀏覽器上,并在以下瀏覽器和操作系統(tǒng)下通過(guò)測(cè)試:
ie7 beta 2 preview/win
ie5.01+/win
firefox 1.5/win
opera 8.5/win & linux
netscape 7.01, 8/win
mozilla 1.7.12/win & linux
safari 2/mac
firefox 1.0.4/linux
epiphany 1.4.8/linux
galeon 1.3.20/linux
按照遠(yuǎn)作者的說(shuō)法其實(shí)這不能算是一種hack,應(yīng)該屬于filter,不過(guò)這似乎并不是最重要的,因?yàn)橥ㄟ^(guò)這個(gè)辦法,我們又一次了解決IE6.0,IE7.0和其他瀏覽器之間的兼容性問題,而且使用:lang-filter這辦法,在今后的一段時(shí)間內(nèi)都會(huì)有用 。
相關(guān)文章
css實(shí)現(xiàn)的對(duì)聯(lián)廣告代碼
本文章提供的對(duì)聯(lián)廣告是完全使用css實(shí)現(xiàn)的,并且兼容所有瀏覽器,包括各種ie,ff,gg瀏覽器哦,代碼簡(jiǎn)潔好用2013-11-11HTML5 WebStorage(HTML5本地存儲(chǔ)技術(shù))
HTML5中很重要的技能之一就是:HTML5本地存儲(chǔ),今天就來(lái)說(shuō)說(shuō)這個(gè)技術(shù),以及和其它存儲(chǔ)方案的比較。2013-10-10expression將JS、Css結(jié)合起來(lái)
expression將JS、Css結(jié)合起來(lái)...2006-09-09