IE CSS Bug系列:Hover偽類的白背景被忽略

rubyisapm發表於2013-10-26

伯樂線上導讀:IE 瀏覽器不支援很多 CSS 屬性是出了名的,即便在支援的部分中,也是有很多 Bug 的。Zoffix Znet 整理了 IE 中的 CSS 問題,有簡單的問題示例,也有解決方法。 這個系列共有 58 個指南,70 個解決方案。這篇由伯樂線上前端開發小組的 @rubyisapm 翻譯。(歡迎更多前端開發朋友來加入“前端開發小組。)

【提示】:IE CSS BUG 系列譯文正在進行中,後續或有改動和調整,請不要轉載本系列的譯文。

—————————————————————————–

受影響的瀏覽器版本

IE7

表現

:hover狀態下背景沒有改變

 

教程日期

2009 8.11 19:50:22 星期二

 

描述

因為產生這個bug的觸發器如此不可理喻,我真不知道這個bug是怎麼被發現的。我從http://css.tests.free.fr/en/exemple46.php瞭解到這個bug,如果你也在實際的網站中踩到了這個坑,那我請你喝一杯吧!讓我們來看看這個bug

 

演示

演示在一個單獨的頁面上。

 

HTML Code

CSS Code

IE7中,連結上發生hover時背景不會變為白色,這個bug真是太脆弱了,相比修復教程,也許我該寫個“該bug如何產生”的教程。來看看吧:非hover狀態是需要“layout”的,:hover選擇器中設定了background-color(沒有使用backgroundbackground-image樣式)。非hover狀態是需要設定邊框而不需要設定背景的。該bug只出現在:hover狀態下將background-color設定為純白色(#fff,#ffffff或white)的情況下。(特扯淡吧?)

 

解決方案(清潔方案)

以下是針對此bug的解決方案

解決日期

2009 8.11 20:54:32 星期二

修復版本

所有受影響的版本

描述

針對此bug有超多的解決方案,在這裡我只說一種,修復後的頁面展示在一個單獨的頁面

 

HTML Code

CSS Code

我只做了一件事:將background-color換成background,哦了~bug被修復了。如果這個方案對你不適用,只要看看bug是怎麼被觸發的,你就能找到很多的解決方案(例如:可以在:hover狀態下設定background為接近白色的#fffffe或者設定position:relative

相關文章