首頁 >web前端 >css教學 >我們如何防止觸摸設備按鈕出現黏滯懸停效果?

我們如何防止觸摸設備按鈕出現黏滯懸停效果?

Susan Sarandon
Susan Sarandon原創
2024-11-11 13:50:03221瀏覽

How Can We Prevent Sticky Hover Effects on Buttons for Touch Devices?

防止觸控裝置上的按鈕出現黏滯懸停效果

為桌面和支援觸控的裝置建立使用者介面時,至關重要的是要解決按鈕上黏滯懸停效果的問題。在觸控​​裝置上,懸停狀態(通常透過更改元素的背景顏色來指示)可能會卡住,即使在釋放按鈕後也是如此。

防止黏性懸停效果的解決方案

已經提出了幾個解決方案來解決這個問題問題:

  • 刪除懸停類:雖然此方法很簡單,但效率較低,而且可能無法在同時支援觸控和滑鼠輸入的裝置上正常運作。
  • 加入觸控類別:這種技術也有局限性,因為它不考慮混合輸入的設備

首選解決方案

理想的解決方案是刪除touchend 上的懸停狀態。然而,這似乎透過傳統方法無法實現,例如聚焦另一個元素或觸發 JavaScript 中的手動點擊。

媒體查詢等級4 解決方案

但是,隨著CSS 的廣泛實施自2018 年起媒體查詢等級4,有一個更優雅的解決方案可用:

這個CSS規則規定,當瀏覽器支援真正的懸停(通常表示使用類似滑鼠的主要輸入裝置)時,懸停樣式將套用於按鈕。這可以有效防止觸控裝置上的懸停效果。

舊版瀏覽器的Polyfill

對於不支援CSS 媒體查詢等級4 的瀏覽器,可以使用Polyfill用於實現類似的解決方案:

polyfill 中的JavaScript 程式碼可以切換my-true-hover基於懸停支援的類別:

透過使用此解決方案,開發人員可以確保按鈕在桌面瀏覽器上具有適當的懸停效果,同時防止在支援觸控的設備上出現黏性懸停效果。

以上是我們如何防止觸摸設備按鈕出現黏滯懸停效果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn