Reputation: 1638
There are a lot of questions of this nature but I cannot find a solution to the following:
<div class="row"></div>
<div class="noRow"></div>
<div class="row"></div>
<div class="noRow"></div>
<div class="row"></div>
<div class="noRow"></div>
<div class="row"></div>
<div class="noRow"></div>
...
I would like to change the background colour of every second .row
I've tried:
.row:nth-child(odd)
Nothing changes
.row:nth-child(even)
Changes the background colour for all .row
elements
Upvotes: 1
Views: 514
Reputation: 22992
Use .row:nth-child(4n - 1)
or .row:not(:nth-child(4n + 1))
.
.row:nth-child(4n - 1) {
background-color: red;
}
<div class="row">Row</div>
<div class="noRow">noRow</div>
<div class="row">Row</div>
<div class="noRow">noRow</div>
<div class="row">Row</div>
<div class="noRow">noRow</div>
<div class="row">Row</div>
<div class="noRow">noRow</div>
<div class="row">Row</div>
<div class="noRow">noRow</div>
<div class="row">Row</div>
<div class="noRow">noRow</div>
<div class="row">Row</div>
<div class="noRow">noRow</div>
<div class="row">Row</div>
<div class="noRow">noRow</div>
Upvotes: 4