2012-06-27 102 views
1

我設計了一個使用催化劑,CSS和html的網頁。它在所有瀏覽器中工作正常。我在網頁中有表格,這些表格的列可以排序(升序或降序)。我交替着色了表格的行。所有的表格看起來都很好,行中的顏色也可以選擇,但其中一個表格確實會顯示該顏色,直到啓用排序或單擊/選擇任何表格單元格爲止。交替着色表格行

我不明白爲什麼會發生這種情況。我懇請某人幫助我解決這個問題,並告訴我爲什麼會發生這種情況以及如何解決這個問題。

在此先感謝和問候

我試過這個,但它不工作。如果你能以簡單的方式解釋它,我會很有幫助,因爲我是使用教程編程和創建Web應用程序的新手。

+0

一些代碼,請! – SVS

+0

更好的與腳本語言或與'jQuery' – diEcho

+0

你可以在這裏顯示你的代碼或演示.... –

回答

1

只要使用這個(顏色更改爲你所需要的),CSS應用到你的餐桌:

table tr:nth-child(even) 
{ 
    background-color: #F7F7FF; 
} 

它在幾乎所有的瀏覽器很好的支持,但IE瀏覽器增加了支持只對版本9.如果支持IE6- 8是強制性的,你可以使用selectivizr。你用你需要的所有標準選擇器編寫你的CSS,它會爲你解決問題,當你放棄IE8支持時,你只需要去掉include,全部沒有JavaScript技巧和一個標準CSS。

+0

不適用於IE! :( –

+0

其css3小心 – diEcho

+0

@ user1462804我更喜歡純粹的CSS,只要有可能,它是標準的,它的工作更快,我們將放棄對IE8的支持,唯一要做的就是刪除一條包含行。爲什麼我喜歡selectivizr,**你寫了你的CSS3選擇器**,而且你不必使用JavaScript代碼污染CSS ++可以做什麼,因爲IE8支持。 –

0

有一個CSS選擇器,實際上是一個僞選擇器,稱爲nth-child。在純CSS,你可以做到以下幾點:

tr:nth-child(even) { 
    background-color: #000000; 
} 

注:沒有支持IE,甚至IE 8

或者,如果您有jQuery的:

$(document).ready(function() 
{ 
    $("tr:even").css("background-color", "#000000"); 
});