小程序hover-class點擊態效果——小程序體驗

微信小程序設置 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 時,組件上不會有任何點擊態效果。

clipboard.png

注意事項小程序

  • 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.列表頁——詳情頁(點擊跳轉)微信小程序

  • 以新聞資訊爲例,大部分應該都是這樣的

clipboard.png

  • 添加以下代碼
//html
<view hover-class='wsui-btn__hover_list'>
    ...
</view>
//css
.wsui-btn__hover_list {
    opacity: 0.9;
    background: #f7f7f7;
}
  • 點擊效果以下圖

clipboard.png

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;
}

clipboard.png

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; 
}

clipboard.png

clipboard.png

  • 上圖以長矩形按鈕爲例,採用scale總體縮放效果顯然不佳

clipboard.png

  • 圓形按鈕顯然更合適
  • 對於同頁面等待請求返回的按鈕,配合 disabled 屬性,使用加載中按鈕的方案更爲合理

4.有待考量的場景ui

  • 選擇類按鈕,特指點擊切換某些狀態,會有及時的狀態切換響應的,如遮罩層、active類
  • 導航圖標類,點擊跳轉的
  • 我認爲以上無需添加hover類
特別說明 以上只是拋磚引玉,針對點擊態,用戶體驗優化的示例 歡迎你們針對效果、使用場景、統一性等方面在下方留言、評論做出優化和補充
相關文章
相關標籤/搜索