Is it possible for me to style every 3rd list item?
Currently in my 960px
wide div I have list of boxes which are floated left and are displayed in a 3x3 grid view. They also have a margin-right of 30px
, but because the 3rd 6th and 9th list item has this margin it makes them jump down a row making the grid display wrongly
How easy is to make the 3rd 6th and 9th not have the margin-right without having to give them a different class, or is that the only way to do it?
Yes, you can use what's known as :nth-child selectors. In this case you would use: li:nth-child(3n) { // Styling for every third element here. } :nth-child() is compatible in Chrome, Firefox, and IE9+.
formula (an + b)nth-child(3n+1) would apply to every third element starting from the first one.
When you group CSS selectors, you apply the same styles to several different elements without repeating the styles in your stylesheet. Instead of having two, three, or more CSS rules that do the same thing (set the color of something to red, for example), you use a single CSS rule that accomplishes the same thing.
Yes, you can use what's known as :nth-child
selectors.
In this case you would use:
li:nth-child(3n) { // Styling for every third element here. }
:nth-child(3n):
3(0) = 0 3(1) = 3 3(2) = 6 3(3) = 9 3(4) = 12
:nth-child()
is compatible in Chrome, Firefox, and IE9+.
For a work around to use :nth-child()
amongst other pseudo-classes/attribute selectors in IE6 through to IE8, see this link.
You can use the :nth-child
selector for that
li:nth-child(3n) { /* your rules here */ }
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