微信小程序設置 hover-class,實現點擊態效果
加強小程序觸感,提升用戶交互感知度css
概念及注意事項
微信小程序中,能夠用 hover-class 屬性來指定元素的點擊態效果。可是在在使用中要注意,大部分組件是不支持該屬性的。html
- 目前支持 hover-class 屬性的組件有三個:view、button、navigator。
- 不支持 hover-class 屬性的組件,同時也不支持 hover-stop-propagation、hover-start-time、hover-stay-time 這三個屬性。
- 當 hover-class 的值爲 none 時,組件上不會有任何點擊態效果。
注意事項小程序
- hover-class樣式顯示的原理是 點擊時把樣式加到class的樣式中,衝突時,誰在後面就顯示誰!
- 當組件中沒有任何指定的類時,直接使用 hover-class 就會起到相應的做用,可是當組件中已經指定了其餘可能與 hover-class 衝突的類時,hover-class 無效
- 將 hover-class 指定的類放在對應 wss 文件的最末尾,這樣就不會被其餘類所覆蓋
- 一般,當一個 view 組件中包含 image 等不支持 hover-class 的組件,但又須要在該組件上使用 hover-stop-propagation 屬性的做用時,須要將不支持 hover-class 的組件用view、button 或 navigator 包裹起來
使用場景
1.列表頁——詳情頁(點擊跳轉)微信小程序
//html
<view hover-class='wsui-btn__hover_list'>
...
</view>
//css
.wsui-btn__hover_list {
opacity: 0.9;
background: #f7f7f7;
}
2.展現類表格列表(不觸發跳轉)微信
- 可設置hover-stay-time屬性,突出顯示觸摸行或列
//html
<view hover-class='wsui-btn__hover_list' hover-stay-time="3000">
...
</view>
//css
.wsui-btn__hover_list {
opacity: 0.9;
background: #f7f7f7;
}
3.提交類按鈕優化
- 1種樣式每每不能知足,各類形狀的按鈕,暫提供如下2種參考
.wsui-btn__hover_btn {
//圓形按鈕
opacity: 0.9;
transform: scale(0.95, 0.95);
//長矩形按鈕
position: relative;
top: 3rpx;
left: 3rpx;
box-shadow:0px 0px 8px rgba(0, 0, 0, .1) inset;
}
- 上圖以長矩形按鈕爲例,採用scale總體縮放效果顯然不佳
- 圓形按鈕顯然更合適
- 對於同頁面等待請求返回的按鈕,配合 disabled 屬性,使用加載中按鈕的方案更爲合理
4.有待考量的場景ui
- 選擇類按鈕,特指點擊切換某些狀態,會有及時的狀態切換響應的,如遮罩層、active類
- 導航圖標類,點擊跳轉的
- 我認爲以上無需添加hover類
特別說明 以上只是拋磚引玉,針對點擊態,用戶體驗優化的示例 歡迎你們針對效果、使用場景、統一性等方面在下方留言、評論做出優化和補充