docs.rodeo

MDN Web Docs mirror

Pseudo-elements

{{CSSRef}} 

A CSS pseudo-element is a keyword added to a selector that lets you style a specific part of the selected element(s).

Syntax

selector::pseudo-element {
  property: value;
}

For example, {{CSSxRef("::first-line")}}  can be used to change the font of the first line of a paragraph.

/* The first line of every <p> element. */
p::first-line {
  color: blue;
  text-transform: uppercase;
}

Double colons (::) are used for pseudo-elements. This distinguishes pseudo-elements from pseudo-classes that use a single colon (:) in their notation. Note, browsers support single colon syntax for the original four pseudo-elements: ::before, ::after, ::first-line, and ::first-letter.

Pseudo-elements do not exist independently. The element of which a pseudo-element is a part is called its originating element. A pseudo-element must appear after all the other components in the complex or compound selector. The last element in the selector is the originating element of the pseudo-element. For example, you can select a paragraph’s first line using p::first-line but not the first-line’s children. So p::first-line > * is invalid.

A pseudo-element can be selected based on the current state of the originating element. For example, p:hover::first-line selects the first line (pseudo-element) of a paragraph when the paragraph itself is being hovered (pseudo-class).

[!NOTE] When a selector list contains an invalid selector, the entire style block is ignored.

Typographic pseudo-elements

Highlight pseudo-elements

Selects document sections based on content and document status, enabling those areas to be styled differently to indicate that status to the user.

Tree-Abiding pseudo-elements

These pseudo-elements behave like regular elements, fitting seamlessly within the box model. They act as a child element that can be styled directly within the originating element hierarchy.

Element-backed pseudo-elements

These pseudo-elements are real elements that are not otherwise selectable.

Alphabetical index

Pseudo-elements defined by a set of CSS specifications include the following:

A

B

C

D

F

G

H

M

P

S

T

V

Specifications

{{Specifications}} 

See also

In this article

View on MDN