使用 hover-class 实现触摸态效果 - uni-app 教程
目录
一、什么是 hover-class
二、常用组件支持 hover-class
三、基本
效果说明:
四、配合 hover-start-time 和 hover-stay-time
五、注意事项
六、实践建议
在移动端开发中,良好的用户交互体验尤为重要,点击或长按某个按钮时,给予用户视觉反馈是常见的做法。uni-app
提供了 hover-class
属性,可以非常方便地实现这一效果。
一、什么是 hover-class
hover-class
是 uni-app
中组件的一个属性,用于指定当用户按下并保持触摸某个组件时,组件应该添加的 CSS 类名。通过这个类名,我们可以设置触摸时的样式,比如背景色变化、边框加粗等。
二、常用组件支持 hover-class
以下组件原生支持 hover-class
:
-
<view>
-
<button>
-
<navigator>
-
<cover-view>
-
<movable-view>
三、基本
<view class="btn" hover-class="btn-hover">点击我
</view>
CSS 样式:
<style>
.btn {background-color: #007AFF;color: white;padding: 10px 20px;border-radius: 5px;text-align: center;
}
.btn-hover {background-color: #005BBB;
}
</style>
效果说明:
-
正常状态下,按钮是蓝色;
-
按住(touch)按钮时,会变成深蓝色;
-
松开后恢复原样。
四、配合 hover-start-time
和 hover-stay-time
除了指定类名外,还可以配合以下两个属性控制响应时间:
属性名 | 说明 | 默认值 |
---|---|---|
hover-start-time | 手指按下到产生 hover 状态所需的时间(ms) | 50 |
hover-stay-time | 手指松开后 hover 状态保留时间(ms) | 400 |
示例:
<viewclass="btn"hover-class="btn-hover"hover-start-time="0"hover-stay-time="200"
>快速反馈按钮
</view>
五、注意事项
-
只有在真机中才能完全体现 hover 效果,H5 和小程序开发工具可能表现不同;
-
如果组件本身是不可点击(如
disabled
的按钮),则hover-class
不会生效; -
hover-class="none"
可以禁止触摸样式,适用于某些不需要反馈的场景。
六、实践建议
-
推荐为交互性强的元素都添加
hover-class
; -
样式尽量不要跳变太剧烈,建议轻微变色或阴影增强;
-
可结合动画类名进行更多扩展(如使用
transition
)。
希望这篇文章能帮助你更好地理解和使用 hover-class
,提升你的 uni-app 项目交互体验!