Dofactory.com
Dofactory.com
Earn income with your CSS skills
Sign up and we'll send you the best freelance opportunities straight to your inbox.
We're building the largest freelancing marketplace for people like you.
By adding your name & email you agree to our terms, privacy and cookie policies.

CSS Pseudo-class

A CSS pseudo-class defines a special state of an HTML element.

CSS supports numerous states, such as :active, :hover, :focus, and more.

Below is a complete list of all pseudo-classes.

Example

#

This button uses the :hover pseudo-class to create a hover animation.
Hover over the button to see the effect.

<style>
  .my-button {
    background-color: white;
    color: #302ea3;
    padding: 5px;
    border: 2px solid #302ea3;
  }

  .my-button:hover {
    background-color: #302ea3;
    color: white;
    cursor: pointer;
  }
</style>

<button class="my-button">
  Hover this button
</button>

Using Pseudo-classes

#

Pseudo classes specify a special state of an HTML element.

They can be used to style the following situations:

  • When a cursor moves over an element
  • Visited or unvisited links
  • When an element receives focus

Pseudo classes help increase interactivity on web pages.

Pseudo-class CSS syntax

The syntax for pseudo-classes.

selector:pseudo-class {
  property:value;
}
  • The selector refers to the element(s) to be styled.
  • The :pseudo-class is the state, for example :hover, :active, or :focus.
  • The : (colon) after the selector signifies that a specified state follows.
  • property:value is a regular CSS property value

All Pseudo Classes

Below is a list of all CSS pseudo classes.

Selector Example Description
:active a:active Selects the active link
:checked input:checked Selects every checked <input> element
:disabled input:disabled Selects every disabled <input> element
:empty p:empty Selects every <p> element that has no children
:enabled input:enabled Selects every enabled <input> element
:first-child p:first-child Selects every <p> elements that is the first child of its parent
:first-of-type p:first-of-type Selects every <p> element that is the first <p> element of its parent
:focus input:focus Selects the <input> element that has focus
:hover a:hover Selects links on mouse over
:in-range input:in-range Selects <input> elements with a value within a specified range
:invalid input:invalid Selects all <input> elements with an invalid value
:lang(language) p:lang(it) Selects every <p> element with a lang attribute value starting with "it"
:last-child p:last-child Selects every <p> elements that is the last child of its parent
:last-of-type p:last-of-type Selects every <p> element that is the last <p> element of its parent
:link a:link Selects all unvisited links
:not(selector) :not(p) Selects every element that is not a <p> element
:nth-child(n) p:nth-child(2) Selects every <p> element that is the second child of its parent
:nth-last-child(n) p:nth-last-child(2) Selects every <p> element that is the second child of its parent, counting from the last child
:nth-last-of-type(n) p:nth-last-of-type(2) Selects every <p> element that is the second <p> element of its parent, counting from the last child
:nth-of-type(n) p:nth-of-type(2) Selects every <p> element that is the second <p> element of its parent
:only-of-type p:only-of-type Selects every <p> element that is the only <p> element of its parent
:only-child p:only-child Selects every <p> element that is the only child of its parent
:optional input:optional Selects <input> elements with no "required" attribute
:out-of-range input:out-of-range Selects <input> elements with a value outside a specified range
:read-only input:read-only Selects <input> elements with a "readonly" attribute specified
:read-write input:read-write Selects <input> elements with no "readonly" attribute
:required input:required Selects <input> elements with a "required" attribute specified
:root root Selects the document's root element
:target #news:target Selects the current active #news element (clicked on a URL containing that anchor name)
:valid input:valid Selects all <input> elements with a valid value
:visited a:visited Selects all visited links


You may also like


Last updated on Sep 30, 2023

Earn income with your CSS skills
Sign up and we'll send you the best freelance opportunities straight to your inbox.
We're building the largest freelancing marketplace for people like you.
By adding your name & email you agree to our terms, privacy and cookie policies.

Guides