:hover
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The :hover
CSS pseudo-class matches when the user interacts with an element with a pointing device, but does not necessarily activate it. It is generally triggered when the user hovers over an element with the cursor (mouse pointer).
Try it
Styles defined by the :hover
pseudo-class will be overridden by any subsequent link-related pseudo-class (:link
, :visited
, or :active
) that has at least equal specificity. To style links appropriately, put the :hover
rule after the :link
and :visited
rules but before the :active
one, as defined by the LVHA-order: :link
— :visited
— :hover
— :active
.
Note: The :hover
pseudo-class is problematic on touchscreens. Depending on the browser, the :hover
pseudo-class might never match, match only for a moment after touching an element, or continue to match even after the user has stopped touching and until the user touches another element. Web developers should make sure that content is accessible on devices with limited or non-existent hovering capabilities.
Syntax
:hover {
/* ... */
}
Examples
Basic example
HTML
<a href="#">Try hovering over this link.</a>
CSS
a {
background-color: powderblue;
transition: background-color 0.5s;
}
a:hover {
background-color: gold;
}
Result
Specifications
Specification |
---|
HTML Standard # selector-hover |
Selectors Level 4 # the-hover-pseudo |
Browser compatibility
BCD tables only load in the browser