I have an HTML table and would like to change the row color every two rows, for two rows at a time. I don't mean selecting every other row using nth-child(even)
, which is all I keep seeing in my search engine results. I'm trying to set the background color of rows 1 and 2, then 5 and 6, then 9 and 10...and so on, leaving the other rows with the default white background.
I've tried using :nth-child(2n+b)
and I don't think it's possible using that pseudo-selector. The tables are dynamically generated and will fluctuate in row count, so hard coding is not an option.
Is there some sort of JavaScript way to do this?
It's definitely possible using CSS's :nth-child()
notation:
tr:nth-child(4n + 1) td,
tr:nth-child(4n + 2) td {
background-color: #ffa;
}
tr:nth-child(4n + 3) td,
tr:nth-child(4n + 4) td {
background-color: #f90;
}
JS Fiddle demo.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With