:hover 在鼠标悬停时生效,:active 在元素被激活时触发;结合使用可实现按钮颜色变化、缩放、阴影等交互效果,提升用户体验,需注意自然反馈与可访问性。
在CSS中,:hover 和 :active 是两个常用的伪类,用来增强按钮、链接等元素的交互反馈。将它们结合起来使用,可以让用户在鼠标悬停和点击时看到更丰富的视觉变化。
:hover 在用户将鼠标指针移到元素上时生效,常用于显示悬停状态,比如改变背景色或文字颜色。
:active 在元素被激活(通常是鼠标按下但未释放)时触发,适合模拟“按下”效果。
以下是一个简单的按钮交互示例:
.button {
padding: 10px 20px;
background-color: #007bff;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.2s ease;
}
.button:hover {
background-color: #0056b3;
}
.button:active {
background-color: #003d82;
}
说明:
- 默认状态下按钮为蓝色;
- 鼠标悬停时颜色变深;
- 点击时颜色更深,模拟“按下”感。
-
加上 transition 让颜色变化更平滑。
除了颜色,还可以调整其他属性来增强交互:
例如:
.button:active {
transform: scale(0.98);
box-shadow: inset 0 2px 4px rgba(0,0,0,0.2);
}
确保交互自然且不干扰用户体验:
基本上就这些。合理组合 :hover 和 :active,能显著提升界面的响应感和专业度,关键在于细节自然、反馈明确。