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
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

