css pseudo class
`:first-of-type` CSS pseudo-class
The :first-of-type CSS pseudo-class represents the first element of its type (tag name) among a group of sibling elements.
Interactive exampleOpen the canonical MDN source to run this embedded demo.
dt {
font-weight: bold;
}
dd {
margin: 3px;
}
dd:first-of-type {
border: 2px solid orange;
}
<dl>
<dt>Vegetables:</dt>
<dd>1. Tomatoes</dd>
<dd>2. Cucumbers</dd>
<dd>3. Mushrooms</dd>
<dt>Fruits:</dt>
<dd>4. Apples</dd>
<dd>5. Mangos</dd>
<dd>6. Pears</dd>
<dd>7. Oranges</dd>
</dl>
Syntax
:first-of-type {
/* ... */
}
Examples
Styling the first paragraph
HTML
<h2>Heading</h2>
<p>Paragraph 1</p>
<p>Paragraph 2</p>
CSS
p:first-of-type {
color: red;
font-style: italic;
}
Result
Interactive exampleOpen the canonical MDN source to run this embedded demo.
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
<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
article :first-of-type {
background-color: pink;
}
Result
Interactive exampleOpen the canonical MDN source to run this embedded demo.
Specifications
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.