【发布时间】:2011-01-26 12:19:48
【问题描述】:
css hover 是否适用于移动设备?我有一个 CSS 悬停类,它在常规网络浏览器上运行良好,但在移动浏览器上不起作用。
【问题讨论】:
css hover 是否适用于移动设备?我有一个 CSS 悬停类,它在常规网络浏览器上运行良好,但在移动浏览器上不起作用。
【问题讨论】:
:hover 伪类需要一个指向(图形输入)设备,能够区分指向和选择/激活的动作。 通常在具有触摸界面没有前者,只有后者。还有一些笔界面只允许激活,不能指点。
:hover伪类在用户指定一个元素(使用一些指针设备)但不激活它时应用。例如,当光标(鼠标指针)悬停在元素生成的框上时,可视用户代理可以应用此伪类。不支持交互式媒体的用户代理不必支持这个伪类。一些支持交互式媒体的符合标准的用户代理可能无法支持此伪类(例如笔设备)。
所以,回答您的问题:这取决于设备,但可能不会。不要依赖它。随着触摸屏设备的迅速普及,您将失去所有仅指点的事件。
叹息。似乎没有人回答这个问题实际上是在真实设备上尝试过的。在许多情况下,它确实有效。第一次点击相当于悬停。
更多信息在这里:http://designshack.net/articles/css/are-hover-events-extinct/
【讨论】:
:hover 会触发一些辅助信息、工具提示或类似信息,关于单击时会发生什么。由于您无法在移动设备上将两者分开,因此丢失了非常大的用例。
:hover在移动设备上非常不可靠。正如@andybak 所说,它确实有效,但要使其可靠,就必须使用另一种方法来解决这个问题。
提问者所说的“css hover 是否适用于移动设备?”是什么意思?
他显然不是字面意思,因为在移动设备上没有悬停这样的东西,所以它不能工作。
如果他的意思是“在移动设备上,如果我以悬停方式点击对象,会发生什么事情吗?”答案是肯定的,但发生的情况因设备/浏览器而异。
特别是在 iPhone/Safari 和 Android 上,响应就像您编写了一个带有样式更改的 OnClick() 事件处理程序,并且这种情况会持续存在,直到您点击另一个对象。在 Windows phone 上,当您的手指在手机上按下时,样式会发生变化,然后在您松开它时恢复。
您可以在我设置的测试站点davidleader.net/mobiledemo.html检查您的设备。
【讨论】:
这取决于移动设备中使用的浏览器。移动设备请参考Quirks Mode,看看你的浏览器/平台是否会实现。
【讨论】:
根据我自己的经验,它在我的 iphone4 上运行良好,无论是什么浏览器(safari 或 chrome),但在我的带有 chrome 的 nexus10 上不能正常运行......
我使用:hover 来实现菜单。当我说“它有效”时,我的意思是第一次触摸的行为就像桌面上的悬停一样,第二次触摸的行为就像点击一样。
当我说“它不起作用”时,我的意思是触摸的行为就像直接点击一样......
【讨论】:
我会说不,因为您不会将鼠标悬停在移动界面中。如果在触摸屏上,您只需按下即可。否则,您只需浏览链接。
【讨论】:
不会在触摸屏设备上发挥它的魔力,但它确实适用于用户使用某些箭头键导航的手机(或亚马逊 Kindle)
【讨论】:
也适用于黑莓风暴 1 设备,因为它们具有触摸和点击事件,因为它们具有绒面触感屏幕。
【讨论】:
是的,它有。如果你不相信,试试看。 i)在 Codepen 或您拥有帐户的其他堆栈上编写 Hover Css。 ii) 保存您的工作。 [很容易看出是否添加了'border-bottom:1px dotted black'] iii) 在您的手机、平板电脑或任何您想证明的东西上打开它。 [你的笔存的,介意的是CodePen]
因此,您会得到答案。不要太相信理论,只是实践并证明它。
【讨论】:
:hover 与 android 默认浏览器配合使用,但是(对于用户而言)触发悬停而不同时触发点击确实很棘手。
【讨论】: