2011-06-07 33 views
14
工作

我使用的CSS懸停顏色變化爲表哈弗效果不能與IE8

#tabb tbody tr:hover td{ 
    color:#006; 
    background:#d0e4f2; 
} 

這工作正常,在Chrome和Firefox,但懸停效果不會在Internet Explorer 8

發生

有沒有辦法使IE8的這種效果也可以使用?

+0

工程在IE8精絕。驗證你的html代碼。 – 2011-06-07 18:28:38

+0

@AR:在@ thirtydot的幫助下發現問題 - 缺少DOCTYPE。 – Lazer 2011-06-07 18:31:33

回答

32

應該在IE8中正常工作。

在黑暗中刺:

請確保您有a doctype爲HTML的第一行觸發標準模式,如:

<!DOCTYPE html> 

Quirks Mode,IE模擬版本5.5,它不支持a以外的元素上的:hover

+0

好的答案,我同意 - 它應該工作。 – Wex 2011-06-07 18:28:21

+0

我沒有這一行。現在它工作了!謝謝,我會閱讀關於文檔類型,不知道。 – Lazer 2011-06-07 18:29:59

+1

我在我的jsp中使用了我的doctype,但是隨後將其他內容排除在外。你釘了它!謝謝您的幫助! – 2015-05-01 17:28:06

3

IE8不是:hover問題的常見罪魁禍首。如果你不能工作,總會有jQuery!

$("#tabb tbody tr").hover(
    function() { 
     $("this").children("td").css({ 'background-color': '#d0e4f2', 'color': '#006' }); 
    }, 
    function() { 
     $("this").children("td").css({ ... }); 
    } 
); 
+1

不是一個可怕的選擇,但不應該是過時的,並且在非常大的桌子上,會有一些性能問題。 – Patricia 2011-06-07 18:28:54

+2

如果您決定採用jQuery路由,您也可以在CSS中創建'.highlight'類,然後使用jQuery的'toggleClass()'函數,而不是將CSS屬性硬編碼到您的語句中。如果您願意將額外的代碼添加到您的CSS IMO,那麼這是一個更好的解決方案。 – Wex 2011-06-07 18:31:10

+0

@Patricia - 關於表現的好處。太多人在不需要考慮後果的情況下依賴於JavaScript。 – Wex 2011-06-07 18:49:45