CSS ::before Pseudo Element

The ::before pseudo-element is a generated content element that adds any kind of element before the content.

The value is defined by the content property.

By default, the ::before pseudo-element is inline.

The ::before pseudo-element can be used to insert any kind of content, including characters, strings of text, and images.

The::before pseudo-element can be animated, positioned or floated like any other content.

The ::before pseudo-element can also be used with one colon notation :before which is supported by all the browsers as well.

Version

CSS2

Syntax

::before {
css declarations;
}

Example

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p::before { 
      content: "  William Shakespeare -";
      }
    </style>
  </head>
  <body>
    <h2>::before selector example</h2>
    <p>"Be or not to be".</p>
  </body>
</html>

In the following example, the user can add styles to the content:

Example

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p::before { 
      content: "William Shakespeare-";
      background-color: #ccc;
      color: #666;
      border: 2px dotted #000;
      }
    </style>
  </head>
  <body>
    <h2>::before selector example</h2>
    <p>"Be or not to be".</p>
  </body>
</html>

Browser support

4.0+ 12.0+ 2.0+ 3.1+ 10.0+

Practice Your Knowledge

Which statement is wrong about ::before pseudo element




Related articles