What are Pseudo Elements?
Pseudo Elements are used to style a part of an element for example, first line, first letter etc.
There are 5 different types of Pseudo Elements. I’ll discuss one by one with a demo example. Let’s take a look at the syntax first.
selector::pseudo-element {
property:value;
}
Pseudo-element 1. ::first-line
As the name suggests, it adds style to the first line of the text. So if the paragraph is consisted of more than one line, the style will be applied to the first line. For example,
/* CSS */
p::first-line {
background-color: yellow;
}
/* HTML */
My name is Donald. No, I am not Trump!
I live in USA. Again, I am not Trump
In the demo (link is at the bottom of the article), notice that the first line of the both paragraph are in yellow background but the second ones are in normal background.
Pseudo-element 2. ::first-letter
As the name suggests, it adds style to the first letter of the text. So the style will be applied to the first letter of the paragraph only. For example,
/* CSS */
p::first-letter {
font-size: 200%;
color: #8A2BE2;
}
As you can see in the demo (link is at the bottom of the article), the first letter of both of the paragraphs have different styles then the whole paragraph itself.
Pseudo-element 3. ::before
As the name suggests, it adds style and content before any element. For example,
/* CSS */
p::before {
content: "Read this -";
}
As you can see in the demo (link is at the bottom of the article), the content – “Read this -” is applied to both of the paragraphs before they start.
Pseudo-element 4. ::after
As the name suggests, it adds style and content after any element. For example,
/* CSS */
p::after {
content: " - Remember this";
}
As you can see in the demo (link is at the bottom of the article), both of the paragraphs ends with ” – Remember this” sentence.
Pseudo-element 5. ::selection
As the name suggests, it adds style to the portion of an element selected by an user. For example,
/* CSS */
::selection {
color: blue;
background: lightcyan;
}
::-moz-selection { /* Code for Firefox */
color: blue;
background: lightcyan;
}
Try to select any word or letter or even the whole paragraph in the demo below. You’ll see the new style for the selected elements.
That’s it for Pseudo Elements and please read about Pseudo class in my next article.
css selectors pseudo-elements