为什么Mobile Safari触发器:滚动期间的活动状态?

e_k*_*own 6 css mobile-safari pseudo-element

目前正在iOS上测试移动网站(很快就会进入其他设备,所以不确定这是否属于其他操作系统/浏览器).

为什么移动safari会在滚动期间触发链接的活动状态?

我的测试页面由无序列表构成,每个列表项中都有一个链接标记,扩展到100%宽度.问题是在正常滚动期间,触发:活动状态,显示用于在以下状态期间显示的背景:仅活动状态(我显然忽略了示例中不必要的样式和内容):

html:
<ul id="foo"><li><a href="#">Content</a></li></ul>

css:
#foo a {background:white; width:100%; height:100px;}
#foo a:active {background:red;}
Run Code Online (Sandbox Code Playgroud)

Sen*_*nne -1

您应该使用 ontouchstart/ontouchend 通过 Javascript 添加/删除类。然后使用该类而不是 :active。

  • 如果您确实需要解决方法,这可能会起作用。然而,这并不是一个干净的解决方案,必须在所有浏览器中使用额外的 javascript 来修复移动 Safari 中的错误。但问题仍然没有得到解答:为什么移动 Safari 在滚动期间会触发 :active ? (2认同)