伯樂線上導讀:IE 瀏覽器不支援很多 CSS 屬性是出了名的,即便在支援的部分中,也是有很多 Bug 的。Zoffix Znet 整理了 IE 中的 CSS 問題,有簡單的問題示例,也有解決方法。 這個系列共有 58 個指南,70 個解決方案。這篇由伯樂線上前端開發小組的@ivy3372 翻譯。(歡迎更多前端開發朋友來加入“前端開發”小組。)
【提示】:IE CSS BUG 系列譯文正在進行中,後續或有改動和調整,請不要轉載本系列的譯文。
—————————————————————————–
受影響版本
該bug影響:IE6
表現
同一個規則集裡,當相同的規則稍後被再次設定時,!important關鍵字被忽略。
教程日期
2009-8-9 07:514:27 星期天
描述
我現在沒什麼好的IE bug可寫,所以我決定釋出這一個。由於觸發原因少的緣故,這個bug只會很少影響你,並且通常是用來針對沒有使用條件註釋的IE6。我們來看一看:
示例
由於這個bug的性質,示例在一個單獨頁面上單獨網頁
HTML程式碼:
1 |
<div></div> |
CSS 程式碼:
1 2 3 4 5 6 |
div { width: 500px; height: 500px; background: #f00!important; background: #00f; } |
在功能完善的瀏覽器上,這個<div>的背景色將是紅色,而在IE6裡它將是藍色。這是怎麼回事呢?因為 IE6 忽略了我們在background規則上的!important設定,因為同樣的規則在同一個規則集裡被再次規定了。
解決方案
以下是按照解決方案型別排序的解決方案:
解決方案(Clean Solution)
時間
2009-8-9 07:57:08 星期天
修復版本
所有受影響版本
描述
由於這個bug的性質,修復的程式碼在單獨的頁面可獲得單獨網頁
HTML程式碼:
1 |
<div></div> |
CSS 程式碼:
1 2 3 4 5 |
div { width: 500px; height: 500px; background: #f00!important; } |
解決方法在這個案例裡看起來很明顯。簡單刪除帶有!important規則後面跟著的重複規則。易如反掌,不是嗎?