通过CSS的:hover、:focus、:active伪类可实现按钮在悬停、聚焦和按下时的颜色变化,提升交互性与可访问性。.my-btn设置基础样式并添加transition实现平滑过渡;:hover改变背景色以提示可操作;:focus保留outline或自定义高亮边框确保键盘导航可见;:active进一步调整背景色并配合transform模拟按下效果。完整示例包含所有状态且注重细节,如outline-offset避免布局偏移。合理应用三者能显著增强用户体验,关键在于保持视觉连贯并兼顾无障碍需求。
要让按钮在不同交互状态下显示不同的颜色,可以通过CSS设置 :hover、:active 和 :focus 伪类。这些状态分别对应鼠标悬停、鼠标按下和键盘焦点(如Tab切换)时的样式。
假设你有一个简单的HTML按钮:
当用户将鼠标指针移到按钮上时触发。常用于提示可点击或增强视觉反馈。
.my-btn:hover {当用户通过Tab键导航到按钮,或使用JavaScript触发focus时生效。对可访问性很重要。
.my-btn:focus {注意:不要移除默认outline,除非你提供替代的视觉提示,否则会影响键盘用户的体验。
当用户点击并按住按钮时触发,通常用于模拟“按下”效果。
.my-btn:active {加上 transition 可以让颜色变化更平滑,提升用户体验。
基本上就这些。合理使用这三种状态,能显著提升按钮的交互感和可用性。关键是保持视觉一致性,同时兼顾可访问性。不复杂但容易忽略细节。