Last updated 2024-05-14 15:37:31

What Is A Pseudo Class In CSS?

Table of contents


CSS (Cascading Style Sheets) defines the visual presentation of a website by layering over HTML.Simply put if HTML is the skeleton, then CSS is the skin upon it.

Pseudo-classes allow a developer to apply different css styles depending on user actions and page changes.

What is a Pseudo-Class?

A pseudo-class is a keyword added to selectors that specifies a special state of the selected elements. Pseudo-classes are used to define the styling of elements when they are in a specific condition, such as when a user hovers over a link, or when a form field is focused.


The syntax for a pseudo-class is simple. It involves adding a colon (:) followed by the pseudo-class keyword to a CSS selector. For example:

01: selector:pseudo-class { 02: property: value; 03: }

Common Pseudo-Classes

There are many pseudo-classes depending on the state or user action you want to target.



The :hover pseudo-class applies a style when the user hovers over an element, typically used for links.

01: a:hover { 02: color: red; 03: }

This example will show a hyper link in red when a user hovers over it.


The :focus pseudo-class applies a style when an element, such as an input field, gains focus, thus for example, when a user clicks into it.

01: input:focus { 02: border-color: blue; 03: }


The :nth-child() pseudo-class selects elements based on their position in a group of siblings, say in a table or list.

01: li:nth-child(odd) { 02: background-color: #f0f0f0; 03: }

:first-child and :last-child

The :first-child and :last-child pseudo-classes target the first and last child elements of their parent, respectively.

01: p:first-child { 02: font-weight: bold; 03: } 04: 05: p:last-child { 06: font-style: italic; 07: }

Advantages of Using Pseudo-Classes

  • Enhanced User Experience: Pseudo-classes can provide feedback to users through interactive elements like buttons and links.
  • Cleaner HTML: By using pseudo-classes, developers can avoid adding additional classes or IDs to HTML elements solely for styling purposes.
  • Powerful Selectors: Pseudo-classes enable more precise and complex selections, allowing for advanced styling scenarios.


Without Pseudo-classes developers will likely have to depend on Javascript to achieve some styling effects.

Here is another article you might like 😊 "Diary Of Insights: A Documentation Of My Discoveries"