:first-child

La pseudo-clase :first-child de CSS representa el primer elemento entre un grupo de elementos hermanos.

/* Selecciona cualquier <p> que sea el primer 
   elemento entre sus hermanos */
p:first-child {
  color: lime;
}

Nota: Como se definió originalmente, el elemento seleccionado tenía que tener un padre. Comenzando con el Nivel 4 de Selectores, esto ya no es necesario.

Sintaxis

:first-child

Ejemplos

Ejemplo básico

HTML

<div>
  <p>¡Este texto está seleccionado!</p>
  <p>Este texto no está seleccionado.</p>
</div>

<div>
  <h2>Este texto no está seleccionado: no es un `p`.</h2>
  <p>Este texto no está seleccionado.</p>
</div>

CSS

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

Resultado

Diseñando una lista

HTML

<ul>
  <li>Objeto 1</li>
  <li>Objeto 2</li>
  <li>Objeto 3
    <ul>
      <li>Objeto 3.1</li>
      <li>Objeto 3.2</li>
      <li>Objeto 3.3</li>
    </ul>
  </li>
</ul>

CSS

ul li {
  color: blue;
}

ul li:first-child {
  color: red;
  font-weight: bold;
}

Resultado

Especificaciones

Especificación Estado Comentarios
Selectors Level 4
La definición de ':first-child' en esta especificación.
Working Draft Los elementos coincidentes no requieren tener un padre.
Selectors Level 3
La definición de ':first-child' en esta especificación.
Recommendation Ningún cambio.
CSS Level 2 (Revision 1)
La definición de ':first-child' en esta especificación.
Recommendation Definición Inicial.

Compatibilidad con navegadores

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome para AndroidFirefox para AndroidOpera para AndroidSafari en iOSSamsung Internet
:first-childChrome Soporte completo 4Edge Soporte completo 12Firefox Soporte completo 3IE Soporte completo 7
Notas
Soporte completo 7
Notas
Notas Internet Explorer 7 doesn't update :first-child styles when elements are added dynamically.
Notas In Internet Explorer 8, if an element is inserted dynamically by clicking on a link, then the :first-child style isn't applied until the link loses focus.
Opera Soporte completo 9.5Safari Soporte completo 3.1WebView Android Soporte completo ≤37Chrome Android Soporte completo 18Firefox Android Soporte completo 4Opera Android Soporte completo 10.1Safari iOS Soporte completo 4Samsung Internet Android Soporte completo 1.0
Matches elements with no parentChrome Soporte completo 57Edge Sin soporte NoFirefox Soporte completo 52IE Sin soporte NoOpera Soporte completo 44Safari Sin soporte NoWebView Android Soporte completo 57Chrome Android Soporte completo 57Firefox Android Soporte completo 52Opera Android Soporte completo 43Safari iOS Sin soporte NoSamsung Internet Android Soporte completo 7.0

Leyenda

Soporte completo  
Soporte completo
Sin soporte  
Sin soporte
Ver notas de implementación.
Ver notas de implementación.

Ver también