html - 禁用 :hover CSS on Mobile

标签 html css mobile

我在页面上的一些 img 元素上定义了以下 CSS。

.my-image {
    width: 100% !important;
    height: auto;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -ms-transition: all .5s ease;
    transition: all .5s ease;
}

.my-image:hover {
    -webkit-transform:scale(1.5);
    -moz-transform:scale(1.5);
    -ms-transform:scale(1.5);
    transform:scale(1.5);
}

出于某种原因,每当我滚动经过它时(也就是说,沿着图像移动我的手指以滚动经过它们),悬停类都会在 iPhone 上激活。有什么方法可以仅针对移动设备禁用悬停 CSS?

最佳答案

@media handheld {
.my-image:hover {
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    transform: none;
}
}

更新:2017 年 9 月 5 日,媒体查询 4 ​​规范被采纳,其中 handheld 标签被弃用。建议使用 hover 媒体查询 - 对于可以悬停在元素上而无需单击的设备,以及 not hover 不能悬停的设备。

@media (not hover) {
.my-image:hover {
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    transform: none;
}
}

您还可以使用媒体查询pointer:(coarse|fine|one)coarse — 用于手指控制的触摸屏,fine 用于鼠标或手写笔,none 用于其他。

@media (pointer:coarse) {
.my-image:hover {
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    transform: none;
}
}

关于html - 禁用 :hover CSS on Mobile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38636982/

相关文章:

Java正则表达式用点替换css类字符串中的空格

java - WebDriver 从 Javascript CSS 下拉菜单中选择选项在 IDE 中工作,而不是在代码中工作

php - 用于 Twitter-Bootstrap 联系表单的 JavaScript

css - 您应该使用 CSS 还是照片编辑工具为移动设备升级图像?

java - 使用 Java ME 以编程方式安装 Symbian .sis 文件

jquery - 如何根据输入类型编号中给定的行数生成 HTML 表格

html - CSS/HTML : Alignment issue in IE9 + jsFiddle

javascript - 在 jquery 中将 div 包装在子 div 之外

html - BootStrap 下拉菜单未使用 navbar-inverse 正确设置样式

mobile - 网页无法在移动设备上调整大小