Reputation: 13
I want to for every second div with a specific class col-forum-main-cat an another backgroundcolor. I tried it already with :nth-child(even) and (odd) but it doesn't work for me.
The markups is here, and the structure can't be changed, because of the CMS..
.col-forum-main-cat:nth-child(odd) {
background:#dedede;
}
<div class="row row-forum-main-head">
<div class="col-xs-12 col-forum-main-cat">
<span>title</span>
</div>
<div class="col-xs-12 col-forum-main-baord">
<strong>text</strong>
</div>
<div class="col-xs-12 col-forum-main-baord">
<strong>text</strong>
</div>
<div class="col-xs-12 col-forum-main-baord">
<strong>text</strong>
</div>
<div class="col-xs-12 col-forum-main-cat">
<span>title</span>
</div>
<div class="col-xs-12 col-forum-main-baord">
<strong>text</strong>
</div>
<div class="col-xs-12 col-forum-main-cat">
<span>title</span>
</div>
<div class="col-xs-12 col-forum-main-cat">
<span>title</span>
</div>
<div class="col-xs-12 col-forum-main-baord">
<strong>text</strong>
</div>
<div class="col-xs-12 col-forum-main-cat">
<span>title</span>
</div>
</div>
Upvotes: 0
Views: 86
Reputation: 1408
If you can't or don't want to use javascript then I would just manually make a new css class and apply it to every div that you want it on.
If this is something that can dynamically grow, then you'll want to use javascript. You can use jQuery's ":odd" selector to handle this. An example follows...
Javascript (using jQuery):
$(".col-forum-main-cat").filter(":odd").addClass("col-forum-main-cat-odd");
CSS:
.col-forum-main-cat-odd {
background-color:#dedede;
}
HTML:
<div class="row row-forum-main-head">
<div class="col-xs-12 col-forum-main-cat">
<span>title</span>
</div>
<div class="col-xs-12 col-forum-main-baord">
<strong>text</strong>
</div>
<div class="col-xs-12 col-forum-main-baord">
<strong>text</strong>
</div>
<div class="col-xs-12 col-forum-main-baord">
<strong>text</strong>
</div>
<div class="col-xs-12 col-forum-main-cat">
<span>title</span>
</div>
<div class="col-xs-12 col-forum-main-baord">
<strong>text</strong>
</div>
<div class="col-xs-12 col-forum-main-cat">
<span>title</span>
</div>
<div class="col-xs-12 col-forum-main-cat">
<span>title</span>
</div>
<div class="col-xs-12 col-forum-main-baord">
<strong>text</strong>
</div>
<div class="col-xs-12 col-forum-main-cat">
<span>title</span>
</div>
</div>
Upvotes: 0
Reputation: 38252
I don't think it's possible with just CSS.
Since you tag this with Jquery you can use this code:
$(document).ready(function(){
$( ".col-forum-main-cat" ).filter( ":odd" ).css( "background-color", "red" );
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="row row-forum-main-head">
<div class="col-xs-12 col-forum-main-cat">
<span>title</span>
</div>
<div class="col-xs-12 col-forum-main-baord">
<strong>text</strong>
</div>
<div class="col-xs-12 col-forum-main-baord">
<strong>text</strong>
</div>
<div class="col-xs-12 col-forum-main-baord">
<strong>text</strong>
</div>
<div class="col-xs-12 col-forum-main-cat">
<span>title</span>
</div>
<div class="col-xs-12 col-forum-main-baord">
<strong>text</strong>
</div>
<div class="col-xs-12 col-forum-main-cat">
<span>title</span>
</div>
<div class="col-xs-12 col-forum-main-cat">
<span>title</span>
</div>
<div class="col-xs-12 col-forum-main-baord">
<strong>text</strong>
</div>
<div class="col-xs-12 col-forum-main-cat">
<span>title</span>
</div>
</div>
Note:
You can also just use:
$( ".col-forum-main-cat:odd" ).css( "background-color", "red" );
But I use filter
to make it more readable.
Upvotes: 1