bugl
bugl
HomeLearnPatternsSearch
HomeLearnPatternsSearch

Loading lesson path

Learn/CSS/Reference and Practice
CSS•Reference and Practice

CSS Pseudo-classes Reference

Concept visual

CSS Pseudo-classes Reference

Pointer walk
two pointers
leftright102132436485116
left=0
right=6
1
3

Start at both ends

CSS Pseudo-classes

Formula

A CSS pseudo - class is a keyword that can be added to a selector, to define a style for a special state of an element.

Some common use for pseudo-classes:

Style an element when a user moves the mouse over it

Style visited and unvisited links differently

Style an element when it gets focus

Style valid/invalid/required/optional form elements

Style an element that is the first child of its parent

Syntax

Formula

Pseudo - classes are always denoted by a single colon (:) followed by the pseudo - class name:
selector:pseudo-class-name {

CSS properties

}

Formula

The table below lists all the pseudo - class keywords in CSS:

Pseudo-class

Examples

Example description

:active a:active

Selects the active link

Formula

:any - link a:anylink area:anylink
Selects any < a > or < area > element with an href attribute
:auto - fill input:autofill
Selects any < input > element with its value autofilled by the browser

:checked input:checked option:checked

Formula

Matches any < input > or < option > element that is checked

:default input:default button:default option:default Selects form elements that are default in a group of related elements :defined :defined Selects any element that has been defined (standard or custom elements) :dir() :dir(ltr) :dir(rtl) Selects any element with the specified text direction :disabled :disabled input:disabled option:disabled Selects any element that is disabled. Most used for form elements :empty div:empty Selects any element that has no children (including text nodes) :enabled :enabled input:enabled Selects any element that is enabled. Most used for form elements :first @page :first Represents the first page of a printed document (used with the @page rule)

Formula

:first - child p:first - child li:first - child

Selects the element that is the first child of its parent (among a group of sibling elements)

Formula

:first - of - type p:first - of - type li:first - of - type

Selects the first element of its type among a group of sibling elements :focus input:focus select:focus Selects the element that gets focus. Most used for form elements

Formula

:focus - visible button:focus - visible

Selects the element that gets focus (used to apply focus styles only when the keyboard is used to focus something, not the mouse)

Formula

:focus - within form:focus - within label:focus - within

Matches an element if the element or any of its descendants gets focus :fullscreen :fullscreen

Formula

Selects any element that is currently in full - screen mode

:has() h2:has(+p) Selects h2 elements that are immediately followed by a p element, and applies the style to h2 :hover a:hover p:hover

Selects element on mouse over

Formula

:in - range input:in - range
Select any < input > element with a value within the specified range limit

:indeterminate input:indeterminate Selects any form element that is in an indeterminate state :invalid input:invalid fieldset:invalid

Selects invalid form elements

:is() :is(ul, ol)

Formula

Selects all < ul > and < ol > elements

:lang() p:lang(it)

Formula

Selects any < p > element with a lang attribute equal to "it" (Italian)
:last - child li:last - child
Selects any < li > element that is the last child of its parent
:last - of - type p:last - of - type
Selects any < p > element that is the last < p > element of its parent

:left @page :left

Formula

Represents all left - hand pages of a printed document (used with the @page rule)

:link a:link

Selects any unvisited link

:modal :modal Selects the element that is in a modal state :not() :not(p)

Formula

Selects any element that is not a < p > element
:nth - child()
p:nth - child(2)
Selects any < p > element that is the second child of its parent
:nth - last - child()
p:nth - last - child(2)
Selects any < p > element that is the second child of its parent, counting from the end
:nth - last - of - type()
p:nth - last - of - type(2)
Selects any < p > element that is the second < p > element of its parent, counting from the end
:nth - of - type()
p:nth - of - type(2)
Selects any < p > element that is the second < p > element of its parent
:only - child p:only - child
Selects any < p > element that is the only child of its parent
:only - of - type p:only - of - type
Selects any < p > element that is the only < p > element of its parent

:optional input:optional select:optional textarea:optional

Formula

Selects any < input >, < select >, or < textarea > elements without a "required" attribute
:out - of - range input:out - of - range
Selects any < input > element with a value outside the specified range limit
:placeholder - shown input:placeholder - shown textarea:placeholder - shown
Selects any < input > or < textarea > element that is currently displaying placeholder text
:popover - open
:popover - open

Selects any element that is in a showing popover state

Formula

:read - only input:read - only

Selects input elements with the "readonly" attribute specified

Formula

:read - write input:read - write

Selects editable input elements

:required input:required Selects input elements with the "required" attribute specified :right @page :right

Formula

Represents all right - hand pages of a printed document (used with the @page rule)

:root :root

Selects the document's root element

:scope :scope Selects elements that are a reference point, or scope, for selectors to match against :state() :state() Selects custom elements that have the specified custom state :target :target

Selects the current active target element

Formula

:user - invalid
:user - invalid

Selects any form element with an invalid value (after the user have interacted with it)

Formula

:user - valid
:user - valid

Selects any form element with a valid value (after the user have interacted with it) :valid input:valid Selects all input elements with a valid value :visited a:visited area:visited

Selects all visited links

:where() :where(ol, ul)

Formula

Selects all < ul > and < ol > elements

Previous

CSS Snippets

Next

CSS Quiz