The :last-of-type
CSS pseudo-class represents the last element of its type among a group of sibling elements.
Syntax
:last-of-type { /* ... */ }
Examples
Styling the last paragraph
HTML
<h2>Heading</h2> <p>Paragraph 1</p> <p>Paragraph 2</p>
CSS
p:last-of-type { color: red; font-style: italic; }
Nested elements
This example shows how nested elements can also be targeted. Note that the universal selector (*
) is implied when no simple selector is written.
HTML
<article> <div>This `div` is first.</div> <div>This <span>nested `span` is last</span>!</div> <div> This <em>nested `em` is first</em>, but this <em>nested `em` is last</em>! </div> <p>This `p` qualifies!</p> <div>This is the final `div`!</div> </article>
CSS
article :last-of-type { background-color: pink; }
Multiple selectors elements
This HTML example contains nested elements of different types. The CSS contains both type selectors and class selectors.
HTML
<p>This `p` is not selected.</p> <p>This `p` is not selected either.</p> <p> This `p` is last `p` element of its parent e.g. `body` selected by `p` type selector. </p> <div class="container"> <div class="item">This `div` is not selected.</div> <div class="item">This `div` is not selected either.</div> <div class="item"> This `div` is last `div` element of its parent `div` selected by `.container .item` class selector. </div> <p class="item"> This `p` is last `p` element of its parent `div` selected by `.container .item` class selector. </p> </div>
CSS
p:last-of-type { background: skyblue; } .container .item:last-of-type { color: red; font-weight: bold; }
Result
The last <div>
and the last <p>
are both red and bold as the .item:last-of-type
selects the last of every type if that last element also has the item
class.