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 4The definition of ':nth-of-type' in that specification. | Working Draft | Matching elements are not required to have a parent. |
Selectors Level 3The definition of ':nth-of-type' in that specification. | Recommendation | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
:nth-of-type()
|
Chrome
Full support 1 |
Edge Full support 12 Full support 12 Notes' Before Edge 16, Microsoft Edge treats all unknown elements (such as custom elements) as the same element type. |
Firefox
Full support 3.5 |
IE Full support 9 Full support 9 Notes' Internet Explorer treats all unknown elements (such as custom elements) as the same element type. |
Opera
Full support 9.5 |
Safari
Full support 3.1 |
WebView Android
Full support 2 |
Chrome Android
Full support 18 |
Firefox Android
Full support 4 |
Opera Android
Full support 10.1 |
Safari iOS
Full support 3.1 |
Samsung Internet Android
Full support 1.0 |
Legend
- Full support
- Full support
- See implementation notes.'
- See implementation notes.
See also
:nth-of-type() by Mozilla Contributors is licensed under CC-BY-SA 2.5.