简体   繁体   中英

Using nth-child to make a chess pattern

I am breaking my head to achieve something quite relatively simple here.

I need to select every 3rd and 4th element on my page, how could I do that using css :nth-child()?

JS answers also welcome.

Thanks a lot.

***EDIT

Apologies guys my question was badly written. I attached an example below of what I need.

This is the outcome I need, http://jsfiddle.net/8FXL6/

        <li></li>
        <li class="highlight"></li>
        <li class="highlight"></li>
        <li></li>
        <li></li>
        etc

Without hardcoding the class names.

*:nth-child(3),*:nth-child(4){
}

Technically, this selects every element that is the 3rd or 4th child in its container. If you want to select every 3rd or 4th element (3,4,6,8 etc.), use:

*:nth-child(3n),*:nth-child(4n){
}

DEMO

From your edit, you need:

li:nth-child(4n-2),li:nth-child(4n-1){
}

DEMO

You can use comma to combine selectors using nth-child to get elements,

Live Demo

elements = $('div .className :nth-child(3), div .className :nth-child(4)');

How about using css only?

Every third element:

*:nth-child(3n+3) {color: red}

Every fourth element:

*:nth-child(4n+4) {color: blue}

Here's demo on jsfiddle: http://jsfiddle.net/dufsx/

This can be solved using CSS only

 *:nth-child(4n+2){background:blue;color: white;}
 *:nth-child(4n+3){background:blue;color: white;}

LIVE DEMO

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM