我已经四处看看了,但找不到我要找的东西。
我目前在我的页面上有一个css动画,它由:hover触发。我希望在使用媒体查询将页面调整到超过700px的宽度时,将其更改为“单击”或“触摸”。
以下是我目前的情况:http://jsfiddle.net/danieljoseph/3p6kz/
正如您所看到的:hover在移动设备上不起作用,但我仍然希望确保它的工作方式与单击相同,而不是悬停。
如果可能的话,我更愿意使用css,但也对jquery感到满意。
我有一种感觉,这是很容易做到的,但我只是错过了一些非常明显的!任何帮助都将不胜感激。
以下是css动画:
.info-slide {
position:absolute;
bottom:0;
float:left;
width:100%;
background:url(../images/blue-back.png);
height:60px;
cursor:pointer;
overflow:hidden;
text-align:center;
transition: height .4s ease-in-out;
-webkit-transition: height .4s ease-in-out;
-moz-transition: height .4s ease-in-out;
}
.info-slide:hover {
height:300px;
}
9条答案
按热度按时间6uxekuva1#
如果将:active selector与:hover结合使用,则可以根据以下步骤实现此目的:只要在:hover selector之后调用:active selector。
您必须在移动环境中测试小提琴。我现在不能。
更正-我刚在手机上测试过,效果很好
jyztefdp2#
你可以加上
onclick=""
到悬停元素。在那之后,悬停将起作用。编辑:但是你真的不应该添加任何与你的标记相关的样式,只是把它作为一种替代方式发布。
vhmi4jdf3#
我在使用微软edge浏览器的移动设备上也遇到了同样的问题。我可以通过以下方法解决问题:
aria-haspopup="true"
. 它需要添加到div和:hover
,:active
,:focus
对于其他移动浏览器。html示例:
css:
webghufk4#
此代码段将为触摸屏启用悬停效果
a6b3iqyw5#
在大多数设备上,其他答案都有效。对我来说,为了确保它在每个设备上都能正常工作(在react中),我必须用锚定标签将其 Package 起来
<a>
并添加以下内容::hover
,:focus
,:active
(按该顺序)以及role="button"
及tabIndex="0"
.l2osamch6#
我是一个cssnoob,但我注意到hover将适用于触摸屏,只要它是一个“可悬停”元素:图像、链接、按钮。您可以使用以下技巧使用css来完成这一切。
将div背景更改为div内的实际图像标记,或在整个div周围创建一个虚拟链接,当您触摸图像时,它将注册为悬停。
这样做意味着您需要页面的其余部分也可以“悬停”,以便当您触摸图像外部时,它可以识别信息幻灯片:悬停已结束。我的诀窍是让所有其他内容都成为虚拟链接。
它不是很优雅,但很管用。
eqoofvh97#
我认为这个简单的方法可以达到这个目的。使用css,您可以关闭指向“none”的指针事件,然后使用jquery切换类。
使用jquery切换类别:
3mpgtkmj8#
一个css唯一的解决方案,为那些谁是有麻烦的移动触摸屏按钮造型。
这将修复您的悬停杆/活动按钮问题。
eqoofvh99#
我同意上面的答案,但仍然有另一种方法可以做到这一点,那就是使用
media
查询。假设这是您想要做的:
然后,您可以通过媒体查询执行此操作,如下所示:
有关更多详细信息,请访问此页面。