gpt4 book ai didi

iphone - 是什么决定了 iPhone (mobile safari) 将使用 css 做什么 :hover pseudo-class?

转载 作者:行者123 更新时间:2023-12-03 21:20:58 25 4
gpt4 key购买 nike

我正在尝试让工具提示在各种移动设备上工作的方法。不幸的是,我需要支持的设备范围从诺基亚到 iPhone。

不幸的是,我正在使用的一些浏览器不支持使用标题属性作为焦点工具提示。因此,我需要想出一个不同的解决方案。

对于初学者来说,我正在使用纯 CSS 工具提示:http://psacake.com/web/jl.asp

此方法使用 :hover 伪类来定位并设置 SPAN 的 z 索引以创建工具提示。

在 iPhone 上,这会产生奇怪的副作用。点击链接一次会显示工具提示,需要第二次点击才能真正激活链接。

但是,将简单样式应用于不同链接的 :hover 伪类(更改背景颜色)不会产生相同的效果。单击一下即可触发样式和链接(您会在加载下一页之前短暂看到 :hover 样式)。

我已经通过切换到使用 :focus 伪类解决了移动设备的这个问题,该伪类似乎不是由 iPhone(以及我正在使用的诺基亚触摸设备)触发的。当然,如果这个应用程序也用于桌面浏览器,那就不太理想了。

所以...问题:是否有关于 iPhone Safari 浏览器决定中断链接上的单击事件以公开 :hover 伪类与不中断并让链接在第一次点击?

最佳答案

我试图在 Apple 文档中找到一个链接,但我能找到的关于 :hover 的最具体内容是它是模拟的,可能会导致意外结果。我确实找到一个地方说只有当用户点击并按住该对象时才会显示它。 That page (靠近底部,“不要使用不受支持的 iOS 技术”)还表示,当发生这种情况时,也会显示正常的工具提示(使用 title 属性)。

如果您接受关于更改样式和显示工具提示的行为为何不同的假设,我猜测它与处理 mousemove 事件的方式类似。这个Handling Events page 表示,如果在 mousemove 事件期间页面内容发生更改,则不会发送链中的其余事件(包括 mouseup)。我假设这种行为也适用于 :hover。如果您使用 display: none 隐藏工具提示,您可以尝试使用 visibility: hide 来代替,因为它被解释为“该对象仍然在这里,但您可以”看不到它。”

关于iphone - 是什么决定了 iPhone (mobile safari) 将使用 css 做什么 :hover pseudo-class?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4856245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com