CSS :hover Selector


Example

Select and style a link when you mouse over it:

a:hover {
  background-color: yellow;
}
Try it Yourself »

More "Try it Yourself" examples below.


Definition and Usage

The :hover selector is used to select elements when you mouse over them.

Tip: The :hover selector can be used on all elements, not only on links.

Tip: Use the :link selector to style links to unvisited pages, the :visited selector to style links to visited pages, and the :active selector to style the active link.

Note: :hover MUST come after :link and :visited (if they are present) in the CSS definition, in order to be effective!

Version: CSS1

Browser Support

The numbers in the table specifies the first browser version that fully supports the selector.

Selector
:hover 4.0 7.0 2.0 3.1 9.6

Note: In IE there must be declared a <!DOCTYPE> for the :hover selector to work on other elements than the <a> element.


CSS Syntax

:hover {
  css declarations;
} Demo


More Examples

Example

Select and style a <p>, <h1> and <a> element when you mouse over it:

p:hover, h1:hover, a:hover {
  background-color: yellow;
}
Try it Yourself »

Example

Select and style unvisited, visited, hover, and active links:

/* unvisited link */
a:link {
  color: green;
}

/* visited link */
a:visited {
  color: green;
}

/* mouse over link */
a:hover {
  color: red;
}

/* selected link */
a:active {
  color: yellow;
}
Try it Yourself »

Example

Style links with different styles:

a.ex1:hover, a.ex1:active {
  color: red;
}

a.ex2:hover, a.ex2:active {
  font-size: 150%;
}
Try it Yourself »

Example

Hover over a <span> element to show a <div> element (like a tooltip):

div {
  display: none;
}

span:hover + div {
  display: block;
}
Try it Yourself »

Example

Show and hide a "dropdown" menu on mouse hover:

ul {
  display: inline;
  margin: 0;
  padding: 0;
}
ul li {display: inline-block;}
ul li:hover {background: #555;}
ul li:hover ul {display: block;}
ul li ul {
  position: absolute;
  width: 200px;
  display: none;
}
ul li ul li {
  background: #555;
  display: block;
}
ul li ul li a {display:block !important;}
ul li ul li:hover {background: #666;}
Try it Yourself »

Related Pages

CSS tutorial: CSS Links

CSS tutorial: CSS Pseudo classes


Copyright 1999-2023 by Refsnes Data. All Rights Reserved.