In this tutorial, we will dive into the world of pseudo-classes and pseudo-elements. These are powerful tools in CSS that allow you to style elements in specific states or even parts of elements.
You will learn:
- What pseudo-classes and pseudo-elements are
- How to use pseudo-classes and pseudo-elements
- The difference between pseudo-classes and pseudo-elements
- Several practical examples of pseudo-classes and pseudo-elements
Prerequisites:
- Basic understanding of HTML
- Basic understanding of CSS
Pseudo-classes are used in CSS to define a special state of an element. For example, a button that changes color when you hover over it uses a pseudo-class.
Syntax: selector:pseudo-class { property: value; }
Pseudo-elements are used in CSS to style specific parts of an element. For example, you can use pseudo-elements to style the first letter or line of a text.
Syntax: selector::pseudo-element { property: value; }
Tip: Notice the double colon in the pseudo-element syntax. This is to distinguish it from pseudo-classes.
Here we use the :hover
pseudo-class to change the background color of a button when the mouse hovers over it.
button:hover {
background-color: blue;
}
When you hover over a button, the background color will change to blue.
In this example, we use the ::first-letter
pseudo-element to change the style of the first letter of a paragraph.
p::first-letter {
font-size: 200%;
color: red;
}
The first letter of every paragraph will be twice as large as the rest of the text and will be colored red.
In this tutorial, we covered:
- The difference between pseudo-classes and pseudo-elements
- The syntax for using pseudo-classes and pseudo-elements
- Practical examples of pseudo-classes and pseudo-elements
Next Steps:
- Try out different pseudo-classes and pseudo-elements
- Combine pseudo-classes and pseudo-elements for more complex styling
Additional Resources:
- MDN Web Docs: Pseudo-classes
- MDN Web Docs: Pseudo-elements
Exercise 1: Change the color of all links to green when hovered over.
Solution:
a:hover {
color: green;
}
Explanation: We use the :hover
pseudo-class to change the color of the links when the mouse hovers over them.
Exercise 2: Make the first line of all paragraphs bold.
Solution:
p::first-line {
font-weight: bold;
}
Explanation: We use the ::first-line
pseudo-element to change the font weight of the first line of the paragraphs.
Exercise 3: Change the background color of every odd row in a table to grey.
Solution:
tr:nth-child(odd) {
background-color: grey;
}
Explanation: We use the :nth-child(odd)
pseudo-class to select every odd row of the table.
Further Practice: Try to combine pseudo-classes and pseudo-elements in your own projects.