设置了背景图,但是第一次hover会闪烁,该如何解决?????

背景图片切换实现轮播效果,并解决抖动问题 应用场景 页面需要做持续性图片切换的效果。考虑到页面的性能消耗,采用css3控制一张sprite背景图切换来实现效果。 部分代码展示 这里是一个宽高比2:1的图片 .want-club { position: relative; width: 36%; height: 0; padding-bottom: 36%; background-imag 阅读详情

铁打的营盘流水的兵

当下有这么一个需求,鼠标经过图片的时候,切换显示的图片

思索许久,倒也有了那么两三个解决方案

  • 方案一、动态切换显示的组件
  • 方案二、动态切换背景图的路径

基于以上的两种方案,分别给个简单的🌰:
方案一:
html:

<div>鼠标经过,切换背景图</div>
<comp1 v-if="isHover" :imgSrc="isHover? imgSrc1 :imgSrc2" />
<comp1 v-else :imgSrc="isHover? imgSrc1 :imgSrc2" />

js:

data(){
	return {
		  isHover: false,
	      imgSrc1:
	        "http://touxiangkong.com/uploads/allimg/20203301301/2020/3/MzUfQ3.jpg",
	      imgSrc2:
	        "http://touxiangkong.com/uploads/allimg/20203301301/2020/3/YNVjqi.jpg"
	    };
	}
}

如此就可以进行组件的切换,展示不同的图片
比较简陋,也比较low

方案二:
html:

<div class="p10">鼠标经过,切换背景图</div>
<p />  <!-- 这里就是显示图片的容器 --> 

css:

p {
  width: 300px;
  height: 300px;
  background-image: url("http://touxiangkong.com/uploads/allimg/20203301301/2020/3/MzUfQ3.jpg");
  background-size: 100%;
  &:hover {
      background-image: url("http://touxiangkong.com/uploads/allimg/20203301301/2020/3/YNVjqi.jpg");
    }
}

但是发现一个问题,每当首次hover的时候,总会莫名的闪烁,给人的体验感并不是特别好。那么,该如何悄悄地搞掉这个闪烁的过程呢?

可以发现,该案例中使用的img路径是网络图片,用来表示用CDN进行托管的图片

经过资料的查阅已经实践,发生闪烁这是页面加载数据的问题. 页面加载完成之后,这张背景图所以并没有被加载出来,因为这是在css中写的样式,而当你hover的时候这张图片才开始加载资源,所以首次会进行闪烁

如图所示:
在这里插入图片描述
找到了原因,那么就可以找到对应的解决办法。
能不能不要在切换的时候进行请求,而是在hover之前进行这一操作呢?

Of course I can !!!

修改css,如下:
css:

p {
  width: 300px;
  height: 300px;
  background-image: url("http://touxiangkong.com/uploads/allimg/20203301301/2020/3/MzUfQ3.jpg");
  background-size: 100%;
  
  &::after {
    display: none;
    content: "";
    width: 300px;
    height: 300px;
    background-image: url("http://touxiangkong.com/uploads/allimg/20203301301/2020/3/YNVjqi.jpg");
    background-size: 100%;
  }
  &:hover::after {
    display: block;
  }
}

可以看到,是利用了伪元素after进行加载并隐藏显示。
在这里插入图片描述

在该模块加载的时候,进行图片信息网络资源的请求,只需要在hover的时候改变after的显示状态即可。

如此,即可完美的解决首次hover会产生闪烁的问题!

重点推荐第二种~
毕竟第一种不仅low,而且代码量复杂。能用css解决的时候,为什么要用js+css进行解决呢?

记得 点赞 + 收藏 + 关注三连哦~

双缓冲加重载onpaint,OnEraseBkgnd解决屏幕闪烁问题 近来发现用vc做ui真是一件非常痛苦的事情,微软有了C#这个新欢就不要vc这旧爱了.只能自己动手了.自己实现了按钮切换背景功能后,正暗自爽的我发现了一个很严重的问题.背景切换时总是先出现mfc自带的灰色难看界面才刷出我用form image控件载入的图片.上网google了很久.总算是解决我自己的问题.分三步走:第一, 在OnInitDialog中写入//----------- 阅读详情

相关推荐

WinForm GDI 通过绘制背景图和定时器实现按钮冷却动画效果

WinForm GDI 通过绘制背景图和定时器实现按钮冷却动画效果

PAGE_Pig的博客 811

父子块元素初始化样式设置background- image,hover时改变两个块元素的background- image,初次hover会闪一下。

首页图片,父元素设置background- image为图片,子元素设置background- image为渐变色背景,当hover时候,更换父子元素的background- image图片或者背景色。

weixin_56773619的博客 542

Vivado实战:AXI转PCIe IP核配置全流程(含性能优化技巧)

本文详细介绍了在Vivado环境中配置AXI转PCIe IP核的全流程,包括工程准备、IP核参数设置、BAR空间配置、中断系统优化以及TLP传输效率提升等关键步骤。特别分享了经过验证的性能优化技巧,帮助开发者显著提升PCIe链路的吞吐量和稳定性,适用于视频采集、高速数据记录等应用场景。

weixin_30892037的博客 552

链接伪类(:hover)CSS背景图片有闪动BUG及解决方案

链接伪类(:hover)CSS背景图片有闪动BUG IE6下链接伪类(:hover)CSS背景图片有闪动BUG,主要原因ie会再一次请求这张图片,或者说图片没被缓存。例如:CSS代码a:hover{background:url(imagepath)}常用的解决方案:在页面底部添加以下IE6专用代码,让IE6缓存CSS背景图片至本地,这样a:hove...

weixin_30275415的博客 669

Android 12高通thermal-engine调试实战:如何快速开启debug日志并解决CPU降频问题

本文详细介绍了Android 12高通thermal-engine的调试实战,包括如何快速开启debug日志、解读关键日志信息以及解决CPU降频问题。通过优化配置文件和调整温控策略,开发者可以有效提升设备性能,避免因温度管理导致的性能瓶颈。

i3j4k5的博客 306

初识colmap

COLMAP是一款开源的计算机视觉软件,主要用于从一系列二维图像中进行三维重建。它全称为“COLLISION-MAPping”,是一个高度集成的Structure-from-Motion (SfM) 和 Multi-View Stereo (MVS) 管道工具,由斯坦福大学开发和维护。COLMAP的主要功能包括特征检测与匹配、增量式SfM、多视图立体匹配以及优化。它能够从无序或有序的二维照片集合中恢复出三维场景的几何结构(点云)以及每张图像对应的相机姿态。

Hhsjehejj的博客 5547

设置了背景图,但是第一次hover会闪烁,该如何解决

直接上代码,如下所示 .gobackBtn { display: inline-block; margin-right: 20px; width: 30px; height: 30px; cursor: pointer; background-image: url('

lyn1772671980的博客 2584

麒麟KylinV10系统yum源更换全攻略:从官方源到第三方仓库的保姆级教程

本文详细介绍了麒麟KylinV10系统yum源的更换与优化方法,包括官方源配置、第三方仓库集成及RPM包管理技巧。通过实战案例和命令示例,帮助用户快速解决软件依赖问题,提升系统管理效率。特别适合需要在国产操作系统上进行开发的工程师参考。

weixin_30752699的博客 647

终结IE6下背景图片闪烁问题

终结IE6下背景图片闪烁问题 a{}{ background:url(images/normal.gif); } a:hover{}{ background:url(images/hover.gif); } 如果为超级链接定义上述的css...

anfengcheng9705的博客 177

魔兽世界怀旧服宏命令全解析:从自动换装到智能判定,老玩家才知道的黑科技

本文全面解析魔兽世界怀旧服宏命令的高级应用,从自动换装到智能判定,揭秘老玩家专属的黑科技技巧。深入探讨怀旧服特有的宏命令机制,包括施法队列、装备切换系统和职业专属技巧,帮助玩家在经典旧世版本中提升战斗效率。

weixin_29230865的博客 725

034、特定场景优化(一):小目标检测的改进策略合集

本文针对工业场景中的小目标检测难题,提出了一套实战优化方案。首先从数据层面建议保持高分辨率输入(1024-1280像素)或采用切块训练策略,并适当放大标注区域。在网络结构上,提出减少下采样次数、增加高分辨率检测头、引入空间注意力机制等改进。损失函数方面推荐使用NWD匹配和QFL损失提升小目标敏感度。部署环节强调NMS优化、分辨率对齐和量化处理技巧。最后总结核心经验:优先优化数据质量而非模型结构,标注一致性比算法更重要,同时需为实际部署预留性能余量。硬件升级有时比算法调优更经济有效。

xiaoyaohou11的博客 651

通过hover改变图片背景导致闪烁

在CSS中,处理鼠标悬浮时切换背景,经常采用的是给元素加上“:hover”伪类,从而替换背景; 然而,当想改变背景图片时,会发现图片切换时,会有闪烁问题。 根本原因,应该是当hover事件发生时,页面才去请求切换的图片,请求的过程就会导致闪烁问题的发生。 解决方案:切图时,将两张背景图放在同一张图片中,通过background-position定位切换图片,问题迎刃而解 转...

weixin_30654583的博客 1332

debian linux系统安装教程,Debian 10(Buster)安装过程图文详解

Debian 项目发布了它的最新稳定版 Debian 10,其代号是 “Buster”,这个发布版将获得 5 年的支持。Debian 10 可用于 32 位和 64 位系统。这个发布版带来很多新的特色,列出下面一些特色:引入新的 Debian 10 的主题 “FuturePrototype”新版本的电脑桌面环境 GNOME 3.30、Cinnamon 3.8、KDE Plasma 5.14、MAT...

weixin_39864601的博客 4985

链接伪类(:hover)CSS背景图片有闪动BUG的解决方法 vue3

在Vue 3中,如果你遇到了使用伪类(:hover)时背景图片出现闪烁的问题,可能是由于浏览器的渲染机制导致的。标签内或者外部CSS文件中添加上述样式。这样,当你悬停元素时,背景图像应该会平滑过渡,而不会出现闪烁。属性来固定背景图像的位置,防止在:hover状态下背景图片移动导致的闪烁。现象: hover时候,图片还没加载出来,导致边框闪烁。,确保背景图像覆盖整个元素,避免因尺寸变化引起的闪烁。属性来平滑过渡背景变化,减少闪烁感。在Vue 3的组件中,你可以在。

qq_38210427的博客 1082

QGIS安装与使用教程

QGIS安装与使用教程

weixin_46713695的博客 2万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IE6,背景图片出现闪烁问题。

做的下拉背景导航,鼠标滑动,图片出现闪烁问题。  a {}{   background:url(images/normal.gif); } a:hover {}{   background:url(images/hover.gif); } 如果为超级链接定义上述的 css样式以实现鼠标悬浮时的动态效果,在firefox下是没有什么问题的,第一次加载之后,浏览器都会从缓

业,随身。 的专栏 773

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【浏览器兼容性】 IE6下背景图片默认不缓存,导致hover效果闪烁的解决办法

IE6不会缓存背景图片,它会每次都从服务器读取。这就导致我们在做一些hover之类背景切换效果的时候,产生闪烁的问题。解决办法是,加一句JS代码,告诉IE6,这种背景的问题,就不要再麻烦服务器了,有两种办法添加: html {}{ filter: expression(document.execCommand("BackgroundImageCache", false, true)...

diduran2662的博客 246

雪碧图解决闪烁问题。HTML、CSS(十一)

文章目录准备闪烁问题解决闪烁问题完成简写属性 接下来我们来练习通过背景图片的改变来制作一个按钮。大概就是样子。。。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yRtiApWo-1588030780981)(/Users/mac/Desktop/MarkDown /HTML、CSS(十一)/1.gif)] 准备 首先我们准备好雪碧图(sprite figure) ...

weixin_46351593的博客 482

如何解决IE6下背景图片闪烁问题

如果为超级链接定义上述的css样式以实现鼠标悬浮时的动态效果,在firefox下是没有什么问题的,第一次加载之后,浏览器都会从缓存读取背景图片;而IE6在这里有一个bug,它每次都从服务器端读取背景图片,结果就是,若服务器反应较慢hover效果就会出现短暂的空白,令人极度不爽。   1. a {}{   2.   background:url(images/normal.gif);   3. } ...

charrysong的专栏 147

IE6下链接伪类(:hover)CSS背景图片有闪动BUG

IE6下链接伪类(:hover)CSS背景图片有闪动BUG,主要原因ie会再一次请求这张图片,或者说图片没被缓存。 例如: CSS代码 a:hover{background:url(imagepath)} 常用的解决方案: 在页面底部添加以下IE6专用代码,让IE6缓存CSS背景图片至本地,这样a:hover时IE6就不会再重新向服务器请求加载背景图片了。 ...

detuan20000827的博客 173

解决IE6的CSS背景闪烁问题

解决IE6的CSS背景闪烁问题 http://www.keakon.net/2009/05/09/%E8%A7%A3%E5%86%B3IE6%E7%9A%84CSS%E8%83%8C%E6%99%AF%E9%97%AA%E7%83%81%E9%97%AE%E9%A2%98 今天遇到个奇怪的问题,网页本地测试没问题,但上传到GAE服务器上,用IE远程访问就会出现背景闪烁的问题了。 ...

linhuiDragon的专栏 275

【IE6的BUG一】链接伪类(:hover)CSS背景图片有闪动BUG

IE6下链接伪类(:hover)CSS背景图片有闪动BUG,主要原因ie会再一次请求这张图片,或者说图片没被缓存。 例如: CSS代码a:hover{background:url(imagepath)} 常用的解决方案: 在页面底部添加以下IE6专用代码,让IE6缓存CSS背景图片至本地,这样a:hover时IE6就不会再重新向服务器请求加载背景图片了。XML/HTML代码<!–[if IE

binglingnew的专栏 722
上一篇: vue中使用moment.js
下一篇: ios的input框在禁用状态 字体颜色修改无效??????
Dark_programmer
博客等级 码龄7年 9073粉丝 307原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值