:nth-of-type()

The :nth-of-type() CSS pseudo-class matches elements of a given type (tag name), based on their position among a group of siblings.

/* Selects every fourth <p> element
   among any group of siblings */
p:nth-of-type(4n) {
  color: lime;
}

Syntax

The nth-of-type pseudo-class is specified with a single argument, which represents the pattern for matching elements.

See :nth-child for a more detailed explanation of its syntax.

Formal syntax

:nth-of-type( <nth> )

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

Examples

Basic example

HTML

<div>
  <div>This element isn't counted.</div>
  <p>1st paragraph.</p>
  <p>2nd paragraph.</p>
  <div>This element isn't counted.</div>
  <p>3rd paragraph.</p>
  <p class="fancy">4th paragraph.</p>
</div>

CSS

/* Odd paragraphs */
p:nth-of-type(2n+1) {
  color: red;
}

/* Even paragraphs */
p:nth-of-type(2n) {
  color: blue;
}

/* First paragraph */
p:nth-of-type(1) {
  font-weight: bold;
}

/* This has no effect, as the .fancy class is only on the 4th p element, not the 1st */
p.fancy:nth-of-type(1) {
  text-decoration: underline;
}

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

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
:nth-of-type()Chrome Full support 1Edge Full support 12
Notes
Full support 12
Notes
Notes Before Edge 16, Microsoft Edge treats all unknown elements (such as custom elements) as the same element type.
Firefox Full support 3.5IE Full support 9
Notes
Full support 9
Notes
Notes Internet Explorer treats all unknown elements (such as custom elements) as the same element type.
Opera Full support 9.5Safari Full support 3.1WebView Android Full support 2Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 3.1Samsung Internet Android Full support 1.0

Legend

Full support
Full support
See implementation notes.
See implementation notes.

See also