利用!important,分隔IE6與非IE6瀏覽器所套用的CSS樣式

最近在寫網頁時遇到一些CSS樣式在IE與非IE瀏覽器顯示差異的狀況,
例如我希望某個div有最小高度320px的限制,
雖然可以在CSS加入:
[cc_css]min-height: 320px;[/cc_css]
但問題是IE6並不認識min-height,
而height若是給定值,
當div的內容超過給定的高度IE6會自己延伸,
非IE6的瀏覽器則是照給定的值。

後來找了一下相關文章發現可以利用!important這個語法,
這個語法是用來提高樣式的優先權,
例如我在CSS中寫下:
[cc_css]height: 200px !important;
height: 240px;[/cc_css]
那麼實際套用的高度是200px而不是240px,
而IE6是看不懂!important,
如此一來可以利用這個語法來分隔IE6與非IE6瀏覽器所套用的樣式。

假設我希望某個div高度最小為120px且會隨著內容長度自動延伸,
而不管IE6還是IE8、Firefox等瀏覽器都能達到同樣的效果,
就可以這麼寫:
[cc_css]height: auto !important;
height: 120px;
min-height: 120px;[/cc_css]
對IE6來說它只看懂height: 120px,
而對非IE6的瀏覽器來說,
兩個重覆定義的height只有auto會生效並且最小高度120px也能順利運作,
如此一來便可解決這種惱人的問題。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料