PC端:hover 样式在移动端的兼容处理

2023-11-19

写了一个轮播,有hover效果,PC端正常显示,移动端就出现一些问题,点击之后滑动到下一张,上一张有hover效果,要点击其他地方才会消失。

解决方案↓,参考文章CSS - :hover 样式在移动端的兼容处理 - 链滴

@media(hover: hover) and (pointer: fine) {
  .ui-thumbnail[data-active] > img, .ui-thumbnail:focus > img, 
  .ui-thumbnail[data-active] > img, .ui-thumbnail:hover > img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    transition-duration: 1000ms;
    -webkit-filter: grayscale(0%);
            filter: grayscale(0%);
  }
}

.ui-thumbnail[data-active] > img, .ui-thumbnail:active > img {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  transition-duration: 1000ms;
  -webkit-filter: grayscale(0%);
          filter: grayscale(0%);
}

扩展:

对于移动端的 :hover 样式兼容,主要可以考虑以下几点:1. 使用触摸事件 wie touchstart、touchend 来模拟 hover 事件。例如:

css
.element {
  opacity: 0.5; 
}

.element:hover, 
.element:active {
  opacity: 1;
}
js
$('.element').on('touchstart touchend', function() {
  $(this).toggleClass('hover'); 
});

2. 使用 CSS 媒体查询针对手机端移除 :hover 样式:

css
@media (hover: none) {
  .element:hover {
     opacity: 0.5;
  }
}

3. 使用 JavaScript 动态添加样式支持 hover 效果:

js
let elm = document.querySelector('.element');

elm.addEventListener('touchstart', function() {
  this.classList.add('hover');
});

elm.addEventListener('touchend', function() { 
  this.classList.remove('hover');
});

4. 使用一些第三方库如 FastClick 可以优化移动端的点击响应,来模拟 hover 效果。所以简单来说,移动端实现 hover 一般要配合 JavaScript 事件、CSS 媒体查询、第三方库来处理,达到与 PC 端类似的效果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PC端:hover 样式在移动端的兼容处理 的相关文章

随机推荐

  • C++基础——引用讲解1

    目录 6 1 引用概念 1 定义 2 引用的格式 2 引用的特性 三 引用的用法 1 有了引用 就不需要取地址了 2 引用的另一大用法 引用这么强的功能 能不能代替指针 6 1 引用概念 1 定义 引用不是新定义一个变量 而是给已存在的变量
  • python日志(2)——logging

    python日志 2 logging进阶 文章目录 python日志 2 logging进阶 一 logging的四大组件 1 logger 2 Handler 3 Formatter 二 输出日志的常用方式 总结 一 logging的四大
  • x86寄存器

    通用寄存器 GPR寄存器 AX Accumulator 累加寄存器 也叫累加器 BX Base 基地址寄存器 CX Count 计数器寄存器 DX Data 数据寄存器 指针寄存器 SP Stack Pointer 堆栈指针寄存器 BP B
  • 47 转置卷积 [动手学深度学习v2]

    转置卷积 卷积不会增大输入的高宽 通常要么不变 要么减半 转置卷积则可以用来增大输入高宽 Y i i
  • 测试自动化框架平台选型汇总篇

    本文介绍测试自动化常用的框架和平台 语言为python或javascript 无java UI自动化 python pytest playwright 文章 http t csdn cn 2dMF5 python selenium unit
  • 计算机英语·NO

    N n 换行符 name demanding 名字恢复 name mangling 名字毁坏 nanoseconds ns 纳秒 neg operations neg操作 negation two s complement 非 二进制补码的
  • 【电商】电商后台设计—订单中心

    订单系统连接了用户和商家 用户可以通过订单看到商品购买详情 商家则可以通过订单看到购买用户信息等 而整个订单系统囊括了许多模块 如订单生成 订单计算等 一 订单的生成与状态 1 下单过程 电商下单的过程相信大家都不陌生 我们以从购物车下单为
  • laravel路由

    路由 在laravel中 定义路由的地方在routes web php文件中 在使用laravel前必须先定义路由 然后才能在浏览器中访问 routes文件夹中还有一个api php 用于定义api路径 最简单的路由 Route get f
  • GPIO_Speed_50MHz的值是多少

    在STM32底层库中 使用GPIO Speed 50MHz等来表示输出口的最高频率 那么他的值是多少 查看了一下定义 是个枚举 后来查了一下枚举才知道 当枚举中的某个元素备赋值后 从该元素往后是递增的 即1 2 3 当赋给指定的偏移地址后
  • react中props详解

    1 props的基本使用 react组件之间的传值 是离不开props的 代码展示 export default class Parent extends Component render return div h3 我是Parent组件
  • python中if else语句用法_Python条件语句详解:if、else、switch都有了

    01 if条件语句 if语句用于检测某个条件是否成立 如果成立 则执行if语句内的程序 否则 跳过if语句 执行后面的内容 if语句的格式如下 if 表达式 语句1 else 语句2 if语句的执行过程如下 如果表达式的布尔值为真 则执行语
  • PyAutoGui图像操作(一):图像定位方式及返回

    一 PyAutoGui介绍 PyAutoGUI是Python功能强大的UI自动化库 其目的是可以用程序自动控制鼠标和键盘操作 主要用来实现PC端的UI自动化 有鼠标控制 键盘操作 屏幕截图 图片定位 消息对话框 窗口操作等功能 有倒计时 鼠
  • 使用IntelliJ IDEA开发Java Web HelloWorld

    下载Tomcat 首先 下载Apache Tomcat并解压到本地计算机 可存放于任何位置 tomcat官网 https tomcat apache org 下载稳定版版本即可 下载解压好 启动bin下的startup bat文件 访问 h
  • 图神经网络调研

    图神经网络调研 图神经网络简介 应用场景 典型模型 GCN PinSAGE GraphSAGE GAT 图神经网络与知识图谱 异质图和同质图 部分参考链接 最近在做一些图神经网络相关的课题 做了些调研 简单记录一下想法和收获 图神经网络简介
  • OSFormer阅读笔记

    目录 前言 1 模型的特点 2 模型结构 2 1 CNN backbone 2 2 位置感知Transformer LST 2 3 粗细特征融合 CFF 2 4 动态伪装实例归一化 DCIN 2 5 损失函数 3 可视化分析 参考 前言 O
  • JAVA面向过程(二十六) if-else if-else多选择结构

    语法结构 1 2 3 4 5 6 7 8 9 10 if 布尔表达式1 语句块1 else if 布尔表达式2 语句块2 else if 布尔表达式n 语句块n else 语句块n 1 当布尔表达式1为真时 执行语句块1 否则 判断布尔表达
  • 微信小程序反编译

    安装逍遥安卓模拟器 安装node js不作细述 按提示安装即可 安装完成后在命令窗口输入 node v 能查看到版本号即可 打开脚本地址下载反编译脚本 解压 安装依赖 在脚本目录下shift 鼠标右键 打开命令窗口 逐条命令安装 npm i
  • python requests请求终止,python中requests小技巧

    关于 Python requests 在使用中 总结了一些小技巧把 记录下 1 保持请求之间的Cookies 我们可以这样做 2 请求时 会加上headers 一般我们会写成这样 唯一不便的是之后的代码每次都需要这么写 代码显得臃肿 所以我
  • opencv+mfc应用程序依赖库

    msvcp110 dll msvcr110 dll vccorlib110 dll和它统计目录下的所有库 https blog csdn net seu nuaa zc article details 53525569 ucrtbased
  • PC端:hover 样式在移动端的兼容处理

    写了一个轮播 有hover效果 PC端正常显示 移动端就出现一些问题 点击之后滑动到下一张 上一张有hover效果 要点击其他地方才会消失 解决方案 参考文章CSS hover 样式在移动端的兼容处理 链滴 media hover hove