[問題] CSS Hack

看板Web_Design作者 ( )時間14年前 (2011/06/23 13:18), 編輯推噓2(206)
留言8則, 3人參與, 最新討論串1/1
在這個網頁有介紹用法 http://sofree.cc/ie6-ie7-ie8-firefox-css-hack/ 區別IE6、IE7、Firefox (方法 2) 【辨識符號】:「*」、「!important」 【範例練習】: #tip { background:blue; /*Firefox 背景變藍色*/ *background:green !important; /*IE7 背景變綠色*/ *background:orange; /*IE6 背景變橘色*/ } 【說明】:IE7可以辨識「*」和「!important」,但是IE6只可以辨識「*」,卻無法辨識 「!important」,至於Firefox可以讀取「!important」但不能辨識「*」因此可以透過這 樣的差異來有效區隔IE6、IE7、Firefox。 這個範例我不太懂 前兩個沒有問題 但是第三個 IE7不是也吃*嗎 那讀到第三個的時候,Ie7應該也要變橘色才對啊 為什麼不會變呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.107.4

06/23 13:29, , 1F
因為!important,這個ie6看不懂,而important有最高優先
06/23 13:29, 1F

06/23 13:30, , 2F
簡單的說,凡能辨識important的瀏覽器,這個有最高的優先
06/23 13:30, 2F

06/23 13:31, , 3F
如果要讓ie7變橘的話,也請加上important就能前令壓後令
06/23 13:31, 3F
所以就是有優先權的分別了~3Q ============================================================================== 後來我把第三個刪掉 留下前面兩個 background:blue; /*Firefox 背景變藍色*/ *background:green !important; /*IE7 背景變綠色*/ 這時IE7是綠色,IE8、IE9則是藍色 這沒什麼問題,因為!important只有ie7可以辯識 但是我發現Ie6卻也是顯示綠色,WHY??????? Ie6雖然可以辯識前面的*號,但無法辯識後面的important 所以這行應該不會執行 應該是藍色才對啊 ※ 編輯: apiod 來自: 59.124.107.4 (06/23 13:53)

06/23 15:04, , 4F
回頭看才發現我推文的語意錯了,是後令壓前令~XD
06/23 15:04, 4F

06/23 15:09, , 5F
補充說明,firefox也看的懂important,這是表示最高權限
06/23 15:09, 5F

06/23 15:18, , 6F
thank you~~
06/23 15:18, 6F

06/23 15:52, , 7F
建議最好別用 CSS Hack,用 IE 的條件式註解
06/23 15:52, 7F

06/23 15:52, , 8F
文章代碼(AID): #1E0ip0XH (Web_Design)