::first-letter (:first-letter)

El pseudo-elemento ::first-letter aplica estilos a la primera letra de la primera línea un elemento de bloque, sólo cuando no es precedido de otro contenido (como imágenes o tablas).

css
/* Selecciona la primera letra de <p> */
p::first-letter {
  font-size: 130%;
}

La primera letra de un elemento no es siempre fácil de identificar:

  • La puntuación que precede o sigue inmediatamente a la primera letra se incluye. La puntuación incluyo cualquier caracter Unicode definido on las clases open (Ps), close (Pe), initial quote (Pi), final quote (Pf), y other punctuation (Po).
  • Algunos idiomas tienen dígrafos que siempre se capitalizan juntos, como el IJ en holandés. En estos casos, ambas letras del dígrafo deben coincidir con el pseudo-elemento ::first-letter. (Esto pobremente implementado en los navegadores; consulte la tabla de compatibilidad).
  • La combinación del pseudoelemento ::before y la propiedad content podría inyectar texto al inico del elemento. En dicho caso, ::first-letter se aplicaría a la primera letra de este contenido generado.

Nota: CSS3 introdujo la notación::first-letter (con doble dos puntos) para distinguir pseudo-clases de pseudo-elementos. Los navegadores también aceptan:first-letter, introducido en CSS2.

Propiedades permitidas

Sintaxis

Error: could not find syntax for this item

Ejemplo

Hace que la primera letra de cada párrafo sea roja y grande.

HTML

html
<p>
  Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
  eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
  voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita
  kasd gubergren, no sea takimata sanctus est.
</p>
<p>
  Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie
  consequat.
</p>
<p>
  Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit
  lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure
  dolor in hendrerit in vulputate velit esse molestie consequat.
</p>
<p>-El comienzo es un signo de puntuación especial.</p>
<p>_El comienzo es un signo de puntuación especial.</p>
<p>"El comienzo es un signo de puntuación especial.</p>
<p>'El comienzo es un signo de puntuación especial.</p>
<p>*El comienzo es un signo de puntuación especial.</p>
<p>#El comienzo es un signo de puntuación especial.</p>
<p>「特殊的汉字标点符号开头。</p>
<p>《特殊的汉字标点符号开头。</p>
<p>“特殊的汉字标点符号开头。</p>

CSS

css
p::first-letter {
  color: red;
  font-size: 130%;
}

Result

Especificaciones

Specification
CSS Pseudo-Elements Module Level 4
# first-letter-pseudo

Compatibilidad con navegadores

BCD tables only load in the browser

Ver También