2017-05-12 4 views
1

私はここでかなり複雑な状況があるので、私は説明するために最善を尽くします。<tr>タグとnth-child css

私は<tr><td>のhtmlタグでこのテーブルを持っています。表示されるすべてのユーザを2種類のCSSで並べ替えたいとしますbackground-color

問題は、私は日付がすべてのユーザーに対して表示されている別の<tr>のタグを持っているので、tr:nth-child(even)tr:nth-child(odd)でこれらの要素を使用しようとすると、それは動作しませんということです。

これを行うにはどうすればよいですか?私はここで見ることができるように、異なるインターバルで選択することを試みましたが、結果はありませんでした。

注:最初のユーザーは常に白いbackground-colorで始める必要があります。ここで

#tblRegister tr:nth-child(2n-4) { 
    background-color: #eee; 
} 

#tblRegister tr:nth-child(3n-1) { 
    background-color: #fff; 
} 

はさらにそれがどうあるべきかを説明するためのイメージです:私は私のコメントで、以前にも言ったように

enter image description here

+1

テーブルのHTMLコードもご提示ください。 –

+1

もしあなたが良い例を掲示すれば、それは役に立ちます –

+0

@Autista_z私はHTMLコードがASP.NETサーバ側の機能の多くと複雑であると信じています、それは読者を混乱させるだけです。 – Malphai

答えて

1

を好きにしてください、私が変わってしまいます次のようにnth-childルールを適用するHTML構造体:

HTML

<table> 
    <tr class="big_row"> 
    <td>Hello</td> 
    </tr> 
    <tr class="son_table_cnt"> 
    <td> 
     <table class="son_table"> 
      <tr class="normal_row"> 
      <td>1</td> 
      <td>2</td> 
      <td>3</td> 
      <td>4</td> 
      </tr> 
      <tr class="normal_row"> 
      <td>1</td> 
      <td>2</td> 
      <td>3</td> 
      <td>4</td> 
      </tr> 
      <tr class="normal_row"> 
      <td>1</td> 
      <td>2</td> 
      <td>3</td> 
      <td>4</td> 
      </tr> 
      <tr class="normal_row"> 
      <td>1</td> 
      <td>2</td> 
      <td>3</td> 
      <td>4</td> 
      </tr> 
     </table> 
    </td> 
    </tr> 
</table> 

CSS

tr.normal_row:nth-child(even) { 
    background-color: white; 
} 

tr.normal_row:nth-child(odd) { 
    background-color: grey; 
} 

私は、ネストされたテーブルが苦痛であることを知っているが、私は別の解決策を考えることはできません。たぶん他の誰かが

はあなたがここで働くの例を見つけることができる構造を変更することなく、より良いものに考え出すことができるhttps://jsfiddle.net/qzL7kgev/1/(CSSは、私はすぐにダウンし、それをレイアウトさ少し厄介な原因があるが、私はあなたがポイントを得る願っています)

-1

すると、この

#tblRegister tr:nth-of-type(even) { 
    background-color: #eee; 
} 

#tblRegister tr:nth-of-type(odd) { 
    background-color: #fff; 
} 
+0

これは機能しません。最初の行は日付のためグレーです! – Malphai

+0

コードを共有できますか –

関連する問題