2012-09-11 18 views
20

テーブルの2つの行をすべて灰色にする必要があり、可能であれば、nth-childを使用することをお勧めします。2つのテーブル行ごとにnth-child

私はChris Coyier's nth-child testerを使いこなしましたが、まだそれを得ることはできません。

私は、次の式が必要です。

1,2 - grey 
3,4 - white 
5,6 - grey 
7,8 - white 
9,10 - grey 

などを。私はいくつかの提案であると確信しているので、私はHTMLにクラスを入れないことを好むだろう。 nth-childでこれを取り除く方法があれば、それは私が探しているものです。

+1

コードを投稿してください。何を試しましたか? – ews2001

答えて

65

あなたが4のグループをやっていることを理解してから、4番目の要素と4番目の要素から1を引いたものを白から、4番目の要素から2を引いたもの、または4番目の要素を引いたものから3を引いたものを灰色にすることができます。

だから、あなたは4n4n-1、その後4n-24n-3を使用したい:

div:nth-child(4n), div:nth-child(4n-1) { 
    background: red; 
} 
div:nth-child(4n-2), div:nth-child(4n-3) { 
    background: blue; 
} 

コードがあなたのケースに正確ではないことを、私はjsFiddle proof-of-conceptのためにそれを書きました。

NB免責事項:nth-childはIE8では機能しません。もちろん、典型的な問題です。

+0

要素*と*の色を変更することで、意図的にあなたのケースから逸脱しているようです:P – BoltClock

+1

@BoltClock Cute ...しかし、 'div'sは' table'sと 'blue'よりもマークアップが少ない/ 'red'は見やすいです。 ;) – Eric

+0

私はここで解決策を感謝しますが、実際にはスプレッドシートのような内容のプレゼンテーションなので、実際にはテーブルが必要です。私はこれを念頭に置いておきます。もし私がそれに戻ってきたら、私はその答えを受け入れることを喜んでします。 – brianrhea

1

ここでは、各テーブルの最初の列を右揃えに使用しています。

table td:nth-child(2n-1) { 
    align: right; 
    text-align: right; 
} 
関連する問題