是否点击带有 iPad 的 <a> 标签会触发 CSS :focus 状态?
Does tapping an <a> tag with an iPad trigger CSS :focus status?
我有一个下拉菜单,它使用CSS a#hoverlink:hover+div
使div 出现,然后您可以在div 中单击link。
在 Android 上,当您单击鼠标悬停link 时,它会触发 :hover
,因此可以正常工作。
我听说这在 iPad 中不起作用。我怎样才能让它发挥作用?我正在考虑使用 :focus
作为 :hover
的替代方法来完成这项工作。在 iPad safari 中单击会触发 :focus
吗?
我只是想测试一下,但我没有 iPad 来尝试:
a#hoverlink+div { transition: all 2s; }
a#hoverlink:not(:focus)+div { visibility: hidden; opacity: 0; }
<a href="javascript:" id="hoverlink">the link</a><div> yes! focus worked, now wondering if click works<br/><a href="javascript:" onclick="alert('great, it worked!')">click here!</a></div>
您可以尝试使用:target。下面是一个纯粹的 CSS 示例。您应该可以根据自己的需要 Javascript 调整它。
这里是使用 :target 的参考
https://css-tricks.com/on-target/
a#hoverlink+div { transition: all 2s; }
a#hoverlink:not(:target)+div { visibility: none; opacity: 0; }
<a href="#hoverlink" id="hoverlink">Show The Div</a>
<div>You should see this once the link is clicked</div>
根据评论,:active
想法似乎行不通。
虽然 IMI 的 :target
技术可行,但在我的情况下,它会与 JavaScript 驱动的将哈希字符串用于其他目的相冲突。
所以我的答案只是使用 JavaScript onclick
添加一个 class ,这将导致下拉列表出现。
我有一个下拉菜单,它使用CSS a#hoverlink:hover+div
使div 出现,然后您可以在div 中单击link。
在 Android 上,当您单击鼠标悬停link 时,它会触发 :hover
,因此可以正常工作。
我听说这在 iPad 中不起作用。我怎样才能让它发挥作用?我正在考虑使用 :focus
作为 :hover
的替代方法来完成这项工作。在 iPad safari 中单击会触发 :focus
吗?
我只是想测试一下,但我没有 iPad 来尝试:
a#hoverlink+div { transition: all 2s; }
a#hoverlink:not(:focus)+div { visibility: hidden; opacity: 0; }
<a href="javascript:" id="hoverlink">the link</a><div> yes! focus worked, now wondering if click works<br/><a href="javascript:" onclick="alert('great, it worked!')">click here!</a></div>
您可以尝试使用:target。下面是一个纯粹的 CSS 示例。您应该可以根据自己的需要 Javascript 调整它。
这里是使用 :target 的参考 https://css-tricks.com/on-target/
a#hoverlink+div { transition: all 2s; }
a#hoverlink:not(:target)+div { visibility: none; opacity: 0; }
<a href="#hoverlink" id="hoverlink">Show The Div</a>
<div>You should see this once the link is clicked</div>
根据评论,:active
想法似乎行不通。
虽然 IMI 的 :target
技术可行,但在我的情况下,它会与 JavaScript 驱动的将哈希字符串用于其他目的相冲突。
所以我的答案只是使用 JavaScript onclick
添加一个 class ,这将导致下拉列表出现。