:hover

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

:hover CSS 伪类在用户使用指向设备与元素交互时匹配该元素。当用户将光标(鼠标指针)移到元素上方而未按下鼠标按钮时,通常会触发此伪类。

试一试

.joinBtn {
  width: 10em;
  height: 5ex;
  background-color: gold;
  border: 2px solid firebrick;
  border-radius: 10px;
  font-weight: bold;
  color: black;
  cursor: pointer;
}

.joinBtn:hover {
  background-color: bisque;
}
<p>Would you like to join our quest?</p>
<button class="joinBtn">Confirm</button>

:hover 伪类定义的样式将被任何后续的具有至少相同特异性的链接相关伪类(:link:visited:active)覆盖。为了适当地设置链接样式,请按照 LVHA 顺序:link:visited:hover:active)将 :hover 规则放在 :link:visited 规则之后,但放在 :active 规则之前。

注意::hover 伪类在触摸屏上存在问题。根据浏览器不同,:hover 伪类可能永远不匹配,或者只在触摸元素后瞬间匹配,或者即使在用户停止触摸后仍继续匹配,直到用户触摸另一个元素。Web 开发人员应确保内容在具有有限或不存在悬停功能的设备上可访问。

语法

css
:hover {
  /* ... */
}

示例

基本示例

HTML

html
<a href="#">Try hovering over this link.</a>

CSS

css
a {
  background-color: powderblue;
  transition: background-color 0.5s;
}

a:hover {
  background-color: gold;
}

结果

规范

规范
HTML
# 选择器-hover
选择器 Level 4
# hover-伪类

浏览器兼容性

另见