:nth-of-type

The :nth-of-type(an+b) CSS pseudo-class matches an element that has an+b-1 siblings of the same type before it, where n is positive or zero.

/* Selects every fourth <div> inside a parent element */
div:nth-of-type(4n) {
  background-color: lime;
}

See :nth-child for a more thorough description of the syntax of its argument.

Syntax

:nth-of-type( <nth> )

where
<nth> = <an-plus-b> | even | odd

Example

CSS

/* Align odd paragraphs to the left */
p:nth-of-type(2n+1) { text-align: left; }
/* Align even paragraphs to the right */
p:nth-of-type(2n) { text-align: right; }

HTML

<div>
    <div>This element isn't counted.</div>
    <p>First paragraph. (left aligned)</p>
    <p>Second paragraph. (right aligned)</p>
    <div>This element isn't counted.</div>
    <p>Third paragraph. (left aligned)</p>
</div>

Result

Specifications

Specification Status Comment
Selectors Level 4
The definition of ':nth-of-type' in that specification.
Working Draft Matching elements are not required to have a parent.
Selectors Level 3
The definition of ':nth-of-type' in that specification.
Recommendation Initial definition.

Browser compatibility

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

See also

Document Tags and Contributors

 Last updated by: chrisdavidmills,