IE6也認識!important

Web開發者發表於2011-12-20

!important一般用來做區分IE6和Firefox等瀏覽器的基本Hack手法。因為IE6不支援!important,而Firefox能讀懂!important,其改變了樣式的優先順序。其實IE6在某些情況下,也能認識!important。

例如:

<style type="text/css">
.demo{
	color:red !important;
	color:green;
}
</style>
<div class="demo">www.admin10000.com</div>

上面程式碼在FF下字型為紅色、IE6下字型為綠色。說明IE6忽視!important的存在。

再來看看:

<style type="text/css"> 
.demo{ color:red !important; } 
.demo { color:green; } 
</style> 
<div class="demo">www.admin10000.com</div> 

如果IE6不認!important的話,上面程式碼.demo的內容應該顯示為綠色,可偏偏不是,.demo的內容顯示為紅色,說明IE6是認得!important的。

兩種情況的區別就在於:當在一個選擇器中,利用!important改變樣式優先順序的時候,IE6下是無效的,後面的樣式覆蓋了前面的,!important被徹底無視了,利用!important進行hack正是利用了這一點。而當在不同選擇器中應用!important時,IE6是認得!important的。

相關文件:關於IE6下的CSS多類選擇符