CSS悬停功能是否可以在移动设备上使用?


Answers:


36

:hover伪类需要定点(图形输入)设备,能够区分动作的指向选择/激活。通常,在带有触摸界面的移动设备上,您没有前者,只有后者。另外,某些笔界面仅允许激活,而不能指向。

:hover伪类适用,而用户指定的元件(有一些指示设备),但不将其激活。例如,当光标(鼠标指针)悬停在由元素生成的框上时,可视用户代理可以应用此伪类。不支持交互式媒体的用户代理不必支持此伪类。支持交互式媒体的某些合格用户代理可能不支持该伪类(例如,笔设备)。

W3C:CSS 2.1:选择器,动态伪类

因此,回答您的问题:取决于设备,但可能不取决于设备。而且不要依赖它。随着触摸屏设备的迅速流行,您将失去所有仅指向事件。


3
也许新技术将带回仅点事件。见这个这个链接,例如。
索尼桑托斯,

我知道Wacom正在为此做准备,但是您真的希望这些产品在可预见的将来得到广泛使用吗?
乔伊(Joey)

1
是! 您是否期望触摸屏手机(或任何其他当前技术)会如此迅速地得到广泛使用?:)
索尼·桑托斯

2
很快?大多数原始研究(也涉及手势)都发生在80年代。从那以后已经有几十年了。此外,触摸设备在知名和旧的WIMP之外已经具有可用的交互范例。尚不清楚我们是否仅仅为了它而使它永存。
乔伊(Joey)

33

叹。似乎没有人回答这个问题,实际上是在真实设备上尝试过的。在许多情况下,它确实有效。第一次单击充当悬停。

此处提供更多信息:http : //designshack.net/articles/css/are-hover-events-extinct/


6
当然,如果单击某项不执行任何操作而仅将鼠标悬停可以执行任何操作,那很好。但是在大多数情况下,我都看到了:hover一些有关单击的辅助信息,如工具提示或类似信息。由于无法在移动设备上将两者分开,因此会丢失很大的用例。
2012年

1
@Јοеу-我同意,但值得一提的是:hover并不是在触摸设备上完全丢失的原因。
安迪·贝克

@ zach-saucier我最近没有做任何测试。
2014年

4
只想:hover在移动设备上添加它是非常不可靠的。就像@andybak所说的那样,它是正确的,但要使其可靠,必须使用另一种方法来解决此问题。
magnudae'2

9

发问者的意思是“ css悬停在移动设备上工作吗?”?

他显然不是字面上的意思,因为在移动设备上没有悬停这样的东西,因此它无法工作。

如果他的意思是“在移动设备上,如果我点击具有悬停样式的对象,会发生什么事情吗?” 答案是肯定的,但是发生的情况随设备/浏览器的不同而不同。

特别是在iPhone / Safari和Android上,响应就像是您编写了带有样式更改的OnClick()事件处理程序一样,该处理程序一直持续到您点击另一个对象为止。在Windows手机上,当您的手指在手机上按下时发生样式更改,然后在释放时恢复原样。

您可以在我在davidleader.net/mobiledemo.html设置的测试站点上检查设备。


7

除非设备能够检测到有人将手指悬停在屏幕上以进行轻击,否则它不会。:)


4
但是,对于手指来说,这几乎是无用的功能,就像这些设备的大小一样,您很可能会将手指放在会对悬停做出反应的任何物体上。除非您的手指是半透明的,否则很难看到;-)
Joey

2
+1即将到来!见这个这个链接,例如。
索尼桑托斯,

3

这取决于在移动设备中使用的浏览器。请参阅移动设备的Quirks模式,并查看您的浏览器/平台是否可以实现它。


3

根据我自己的经验,无论使用什么浏览器(Safari或chrome),它都可以在iphone4上正常运行,但是在带有chrome的nexus10上无法正常运行...

我用:hover实现菜单。当我说“有效”时,我的意思是第一次触摸的行为就像是在桌面上悬停,而第二次触摸的行为就像是单击。当我说“它不起作用”时,是指触摸的行为直接类似于单击。


0

我会说不,因为您不会在移动界面中徘徊。如果在触摸屏上,则可以按。否则,您只需通过链接即可。


0

不会在触摸屏设备上发挥其魔力,但它确实可以在用户通过使用某些箭头键进行导航的手机上(或在亚马逊Kindle上)工作


0

由于具有suedo-tactile屏幕,它们也具有触摸和单击事件,因此也适用于blackberry storm 1设备。


0

:hover可与android默认浏览器一起使用,但是(对于用户)触发悬停而不同时触发点击确实很棘手。


0

是的,它有。如果您不相信,请尝试一下。i)在Codepen或您拥有帐户的其他堆栈上写悬停CSS。ii)保存您的工作。[很容易看到是否添加'border-bottom:1px点划线的黑色'] iii)在您的手机,平板电脑或您要证明的任何地方打开它。[您的笔保存下来,请记住是CodePen]

结果,您将得到答案。不要太相信理论,只需实践并证明它即可。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.