The :nth-of-type(an+b) CSS pseudo-class matches an element that has an+b-1 siblings with the same element name before it in the document tree, for a given positive or zero value for n, and has a parent element. See :nth-child for a more thorough description of the syntax of its argument. This is a more flexible and useful pseudo selector if you want to ensure you're selecting the same type of tag no matter where it is inside the parent element, or what other different tags appear before it.


element:nth-of-type(an + b) { style properties }


This example causes the text alignment of paragraphs to alternate between left and right.

CSS Content

p:nth-of-type(2n+1) { text-align: left; }
p:nth-of-type(2n) { text-align: right; }

HTML Content

    <p>First paragraph (left aligned)</p>
    <p>Second paragraph (right aligned)</p>
    <p>Third paragraph (left aligned)</p>


Specification Status Comment
Selectors Level 4
The definition of ':nth-of-type' in that specification.
Working Draft No change
Selectors Level 3
The definition of ':nth-of-type' in that specification.
Recommendation Initial definition

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 1.0 3.5 (1.9.1) 9.0 9.5 3.1
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 2.1 1.0 (1.9.1) 9.0 9.5 3.1

See also

Document Tags and Contributors

 Last updated by: psylar,