The :first-child CSS pseudo-class represents any element that is the first among a group of sibling elements. In level 3 implementations, the matching element is required to have a parent. In level 4 implementations it does not.

Syntax

:first-child { style properties }

Examples

Example 1

HTML Content

<div>
  <p>This p is styled, as it is a p, AND the first
     child in the div</p>
  <p>This p is not styled; it is not the first child!</p>
</div>

<div>
  <h2>This h2 is not styled; it is not a p!</h2>
  <p>This p is not styled; it is not the first child!</p>
</div>

CSS Content

p:first-child {
  color: lime;
  background-color: black; 
  padding: 5px;
}

... looks like ...

Example 2 - Using UL

HTML Content

<ul>
  <li>List 1</li>
  <li>List 2</li>
  <li>List 3</li>
</ul>

CSS Content

li{
  color:blue;
}
li:first-child{
  color:green;
}

... looks like ...

Specifications

Specification Status Comment
Selectors Level 4
The definition of ':first-child' in that specification.
Working Draft Matching elements are not required to have a parent.
Selectors Level 3
The definition of ':first-child' in that specification.
Recommendation No change.
CSS Level 2 (Revision 1)
The definition of ':first-child' in that specification.
Recommendation Initial definition.

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support 4.0 (Yes) 3.0 (1.9) 7[1] 9.5 4
No parent required 57 ? ? ? 44 ?
Feature Android Webview Chrome for Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) 1.0 (1.9.1) 7[1] 10 3.1
No parent required 57 57 ? ? ? 44 ?

[1] Internet Explorer 7 doesn't update the styles when elements are added dynamically. In Internet Explorer 8, if an element is inserted dynamically by clicking on a link the first-child style isn't applied until the link loses focus.

See also

Document Tags and Contributors

 Last updated by: jpmedley,