CSS Pseudo-element Selector
The CSS pseudo-element selector is used to style specific parts of an element or to insert content before or after an element’s content. Pseudo-elements allow more granular control of styling without requiring additional HTML elements.
The syntax for a pseudo-element selector is:
</>
Copy
selector::pseudo-element {
property: value;
}
Where:
| Parameter | Description |
|---|---|
selector | The element being styled. |
pseudo-element | The part of the element being targeted (e.g., ::before, ::after, ::first-letter). |
property | A CSS property (e.g., content, color, etc.). |
value | The value assigned to the CSS property. |
Examples
Styling the First Letter of a Paragraph using ::first-letter Pseudo-element Selector
In this example, we style the first letter of every <p> element, making it larger and bold.
index.html
</>
Copy
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
p::first-letter {
font-size: 2em;
font-weight: bold;
}
</style>
</head>
<body>
<p>This is an example paragraph.</p>
</body>
</html>
Inserting Content Before an Element using ::before Pseudo-element Selector
Here, we use the ::before pseudo-element to add text content before every <h1> element.
index.html
</>
Copy
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
h1::before {
content: "Important: ";
color: red;
}
</style>
</head>
<body>
<h1>CSS Tutorial</h1>
</body>
</html>
Adding Decorative Content After an Element using ::after Pseudo-element Selector
In this example, we use the ::after pseudo-element to add a decorative arrow after all <a> (anchor) elements.
index.html
</>
Copy
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
a::after {
content: " →";
color: gray;
}
</style>
</head>
<body>
<a href="#">Learn More</a>
</body>
</html>
Highlighting the First Line of Text using ::first-line Pseudo-element Selector
In this example, we style the first line of text in every <p> element, changing its font style and color.
index.html
</>
Copy
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
p::first-line {
font-style: italic;
color: #555;
}
</style>
</head>
<body>
<p>This is an example paragraph with a styled first line.</p>
</body>
</html>
