Introduction
Pseudo-elements in CSS allow you to style specific parts of an element, or generate content before or after an element's actual content.
Pseudo-elements are denoted by double colons :: or
:
and they come in various types.Psuedo Elements like after and before should be used when we dont want to add the element to the DOM
These elements will get placed in the content section of another element
Psuedo Elements like after and before cannot be applied to image tag
1. ::before
and ::after
:
These pseudo-elements are used to insert content before and after the content of an element, respectively.
.element::before {
content: "Before ";
}
.element::after {
content: " After";
}
2. ::first-line
and ::first-letter
:
::first-line
selects the first line of a block, and ::first-letter
selects the first letter of the first line.
p::first-line {
font-weight: bold;
}
p::first-letter {
font-size: 150%;
}
3. ::selection
:
Used to style the portion of an element that is selected by the user.
::selection {
background-color: yellow;
color: black;
}
4. ::placeholder
:
Targets the placeholder text in input elements.
input::placeholder {
color: #999;
}
5. ::before
and ::after
for Creating Decorative Elements:
These are often used to create decorative elements, such as overlays, as demonstrated in the previous examples.
.container::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
z-index: 1;
}
6. ::nth-child
and ::nth-of-type
:
Selects elements based on their position in a parent element.
ul li:nth-child(odd) {
background-color: #f0f0f0;
}
ul li:nth-of-type(3n) {
color: red;
}
7. ::before
and ::after
for Clearing Floats:
Used for clearfix techniques to clear floated elements.
.clearfix::before,
.clearfix::after {
content: "";
display: table;
clear: both;
}