:first-of-type
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The :first-of-type
CSS pseudo-class represents the first element of its type among a group of sibling elements.
Try it
Syntax
css
:first-of-type {
/* ... */
}
Examples
Styling the first paragraph
HTML
html
<h2>Heading</h2>
<p>Paragraph 1</p>
<p>Paragraph 2</p>
CSS
css
p:first-of-type {
color: red;
font-style: italic;
}
Result
Nested elements
This example shows how nested elements can also be targeted. Note that the universal selector (*
) is implied when no type selector is written.
HTML
html
<article>
<div>This `div` is first!</div>
<div>This <span>nested `span` is first</span>!</div>
<div>
This <em>nested `em` is first</em>, but this <em>nested `em` is last</em>!
</div>
<div>This <span>nested `span` gets styled</span>!</div>
<p>This `p` qualifies!</p>
<div>This is the final `div`.</div>
</article>
CSS
css
article :first-of-type {
background-color: pink;
}
Result
Specifications
Specification |
---|
Selectors Level 4 # first-of-type-pseudo |
Browser compatibility
BCD tables only load in the browser