直接为按钮添加:hover伪类并修改color、background-color或border-color可实现悬停变色;需配合transition实现平滑过渡,兼顾可访问性应叠加下划线或缩放等视觉提示,并推荐用CSS变量统一管理颜色。
直接给按钮添加 :hover 伪类,修改 color(文字色)、background-color(背景色)或 border-color(边框色)即可实现悬停变色。
最常用的是改变文字或背景色。确保按钮有默认样式,再在 :hover 中覆盖:
button { color: #333; } button:hover { color: #007bff; }
button { background-color: #f8f9fa; } button:hover { background-color: #007bff; color: white; }
没有过渡会显得生硬。建议为颜色变化添加 transition:
button { color: #333; transition: color 0.2s ease, background-color 0.2s ease; }
ease 是缓入缓出,也可用 linear 或 cubic-bezier
仅靠颜色变化对色觉障碍用户不友好。可叠加其他视觉提示:
button:hover { text-decoration: underline; }
button:hover { transform: scale
(1.03); }
便于主题切换和维护。把颜色定义为变量,hover 时重设:
button { --btn-color: #007bff; color: var(--btn-color); transition: color 0.2s; }button:hover { --btn-color: #0056b3; color: var(--btn-color); }