首頁 > web前端 > css教學 > 主體

!important在ie7.0的hack方法_CSS/HTML

WBOY
發布: 2016-05-16 12:12:06
原創
1647 人瀏覽過

由於ie對!important識別存在bug,而現在大部分網頁標準設計師又通過這個bug來兼容ie和ff,但是ie7.0把這個bug給修復了,所以問題又出現了,怎麼兼容ie.7.0的同時又能相容ie6.0和ff?正所謂"上有政策,下有對策",國外的網頁標準設計師透過使用css filter的辦法(並不是css hack)來相容ie7.0,ie6.0和ff,以下為我從國外網站的翻譯.

新建一個css樣式如下:

#item {
width: 200px;
height: 200px; : red;


新建一個div,並使用前面定義的css的樣式:


some text here

 

some text here
 
在表現
 

現在對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各版本以外的瀏覽器上,並在以下瀏覽器和作業系統下通過測試:

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 1.7.12/win & linux
safari 1.7.12/win & linux
safari 1.7.12/win & linux
safari 1.7.12/win & linux
safari 2/mac> >epiphany 1.4.8/linux
galeon 1.3.20/linux 依照遠作者的說法其實這不能算是一種hack,應該屬於filter,不過這似乎並不是最重要的,因為透過這個辦法,我們又一次了解決IE6.0,IE7.0和其他瀏覽器之間的兼容性問題,而且使用:lang-filter這辦法,在今後的一段時間內都會有用 。
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!