当我接触触摸设备时,我不想要悬停行为。是否可以同时禁用整个网站的所有悬停效果?

鉴于您使用 Modernizr 来检测触摸并设置类。

这是我想出的,但它给出了很多不一致:

html.touch *:hover {
    color: inherit !important;
    background: inherit !important;
}

有没有办法用纯 CSS 做到这一点?如果没有,如何用javascript完成?

最佳答案

更新
现在所有移动浏览器都非常体面地支持这一点,这里是 Can I use 链接:

html.touch *:hover {
    all:unset!important;
}
旧答案
这很好,但不是 supported 很好:
html.touch *:hover {
    all:unset!important;
}
但这有一个很好的 support :
html.touch *:hover {
    pointer-events: none !important;
}
对我来说完美无缺,它使所有悬停效果就像当您触摸按钮时它会亮起但最终不会作为鼠标事件的初始悬停效果出现问题。

关于javascript - 通过 css 移除所有悬停效果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28048900/

10-15 15:11