css3实现 png 图片高亮自左到右过渡的方式 (一张图实现不遮住png的透明背景)

CSS准星改造指南:从狙击细线到步枪粗短准星的完整实现 在Web开发中,自定义鼠标光标样式是提升交互体验的重要细节。CSS的cursor属性为我们提供了控制鼠标指针外观的能力,而crosshair作为内置的十字光标,在不同系统下表现各异,难以满足游戏或设计工具的精准需求。理解光标热点(hotspot)坐标是自定义准星的关键,它决定了点击位置与视觉中心的偏移,直接影响瞄准精度。对于动态准星,常结合mousemove事件与HUD元素实现,利用transform保证流畅的跟随性能。从狙击枪的细长十字到步枪的粗短分段式准星,本质是视觉参数与渲染路径的取舍。通过封装SVG 阅读详情

一、用一张图解释想要实现的效果。

在这里插入图片描述

二、思考:如何实现?实现的多种方式。

2.1、2图代码及实现效果

我们先去设想一下,如果是两张图那么很简单的就实现了,先说一下两张图的实现思路:

  1. 创建一个包裹div,创建两个divbox模块
  2. div模块内部都是img标签 给img标签设置固定的宽高
  3. 包裹div设置相对定位,两个divbox设置绝对定位,box模块2,设置宽度0,overflow:hidden;
  4. 设置对应的鼠标移入过渡效果 实现功能
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>2张图实现方式</title>
  </head>
  <style>
    .imgBox {
      position: relative;
      height: 100px;
    }
    .box1 {
      position: absolute;
      width: 100px;
      height: 100px;
      opacity: 0.6;
      z-index: 1;
    }
    .box2 {
      position: absolute;
      width: 0px;
      height: 100px;
      overflow: hidden;
      transition: width 2s ease;
    }
    .box1:hover + .box2 {
      width: 100px;
    }
  </style>
  <body>
    <div class="imgBox">
      <div class="box1">
        <img class="img1" width="100" height="100" src="./15825954118079008.jpg" alt="" />
      </div>
      <div class="box2">
        <img class="img2" width="100" height="100" src="./15825954118079008.jpg" alt="" />
      </div>
    </div>
  </body>
</html>

在这里的话,是设置了透明度,当然也可以直接采用两张背景图 一个是浅图一个是深图,那如果不设置透明度两张图的话 需要给上方的.box2同样设置一个hover伪类

请添加图片描述

2.2、单图过滤实现效果

那么在我们如果在只有单张图的情况下,我们要考虑的是如果当前这个图片是png,那么我们如何用单图去实现呢?在实现的情况下我们要考虑的情况是如何不碰及png图片的空白透明区域?直接在图片上面放一个遮罩层,肯定是行不通的,我们就要从其他的角度去变换角度思考问题,我们必须要将图片变换颜色,也就是变换成我们指定的颜色,从而实现伪两张图片的效果,这样其实也就是实现了 单图 的过渡效果:

  1. 创建一个包裹div,创建两个box模块
  2. box1模块内部是img标签 给img标签设置固定的宽高,box2为空背景模块,设置背景图及过滤效果
  3. 包裹div设置相对定位,两个divbox设置绝对定位,包裹div、box2 设置 overflow:hidden;
  4. 设置对应的鼠标移入过渡效果 实现功能
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>单图 png 过滤效果</title>
  </head>
  <style>
    .imgBox {
      position: relative;
      height: 100px;
      overflow: hidden;
    }
    .box2 {
      position: absolute;
      left: -100px;
      width: 0;
      height: 100px;
      border: none;
      overflow: hidden;
      transition: width 2s ease, filter 2s ease, border-right 2s ease;
      z-index: 1;
      filter: drop-shadow(100px 0 0 rgb(211, 211, 211));
      background: url("./favicon.png") no-repeat;
      background-size: 100px 100px;
    }
    .box1:hover + .box2 {
      width: 100px;
      border-right-width: 100px;
    }
    .box2:hover {
      width: 100px;
      border-right-width: 100px;
    }
    .box1 {
      position: absolute;
      width: 100px;
      height: 100px;
    }
  </style>
  <body>
    <div class="imgBox">
      <div class="box1">
        <img class="img1" width="100" height="100" src="./favicon.png" alt="" />
      </div>
      <div class="box2"></div>
    </div>
  </body>
</html>

在这里的话是使用了 css3的 filter: drop-shadow进行变更了 png 颜色,这个属性相当于是我们利用了图片的阴影效果,右移动了阴影,而原图在左边-100px的位置,我们利用鼠标过渡移入是border-width的宽度进行变化,这个变化出来的效果其实就是反转的 png 图片,从而利用这种效果,达到了我们想要的效果。
请添加图片描述

2.3、单图遮罩实现效果

对应的我们实现了上方的一个图片过滤的变更颜色效果,那么就要思考能不能用其他的方式实现 png 变更颜色呢?参考 张鑫旭大大的 纯CSS实现任意格式图标变色的研究 CSS遮罩实现任意颜色图标 CSS3 mask默认是基于透明度实现遮罩效果的。也就是实色区域显示,透明区域隐藏。利用这个mask我们就可以实现对png图片的颜色转化,从而也就能实现对应的单图遮罩过渡效果:

  1. 创建一个包裹div,创建两个image_copy模块
  2. image_copy模块是一个背景图 image_copy_box模块中包裹着我们要变更颜色的 png 背景图
  3. 同样是利用定位及 overflow:hidden; 效果设置宽度实现过渡
  4. 设置对应的鼠标移入过渡效果 实现功能
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>单图遮罩实现效果</title>
  </head>
  <style>
    .box {
      position: relative;
    }
    .image {
      display: inline-block;
      width: 100px;
      height: 100px;
      background-color: rgb(255, 0, 0);
      -webkit-mask: url("./favicon.png") no-repeat;
      mask: url("./favicon.png") no-repeat;
      -webkit-mask-size: 100% 100%;
      mask-size: 100% 100%;
    }
    .image_copy_box {
      position: absolute;
      z-index: 100;
      width: 0px;
      height: 100px;
      overflow: hidden;
      transition: all 2s ease;
    }
    .image_copy:hover + .image_copy_box {
      width: 100px;
    }
    .image_copy_box:hover {
      width: 100px;
    }
    .image_copy {
      display: inline-block;
      width: 100px;
      height: 100px;
      background: url("./favicon.png") no-repeat;
      background-size: 100% 100%;
      position: absolute;
    }
  </style>

  <body>
    <div class="box">
      <div class="image_copy"></div>
      <div class="image_copy_box">
        <div class="image"></div>
      </div>
    </div>
  </body>
</html>

在这里也就是利用了mask 及 mask-size 实现了png颜色的变更,从而实现了效果。
请添加图片描述

CSS - 文字高光滑动效果(左侧到右侧亮光) 效果图 如下图所示,可自己修改文字颜色及滑动效果的颜色。 实现代码 <b class="q-loading-2-inner">自定义文字颜色及高光颜色</b> .q-loading-2-inner { font-weight: bold; /* 这里可以随意加样式 */ background: #fff linear-gradient( -135deg, transparent 25%, 阅读详情

相关推荐

PSD转HTML实战:学成在线首页完整还原指南

在网页前端开发中,将设计稿转化为标准页面是工程师必备的基础技能,而PSD转HTML则是这一流程中最典型的场景。其核心原理在于解析视觉稿中的图层信息,并将其映射为符合语义的HTML结构与可维护的CSS样式,同时兼顾响应式布局与高清屏适配。掌握这一过程不仅有助于提升切图效率,还能深入理解Flexbox、Grid等现代布局技术的实际应用模式。在教育类网站、企业官网等高信息密度的页面中,设计稿还原质量直接影响用户体验与加载性能。本文以“学成在线”教育培训网站首页为实战案例,从图层整理、尺寸测量、栅格划分到导航栏、轮

weixin_33850015的博客 368

基于CSS mask-image 实现炫酷图片过渡效果之星球大战

基于 CSS mask-image 实现了四种图片过渡效果,相信这几种效果能够让你眼前一亮,让你的项目炫酷起来吧

南城 1048

微信小程序背单词实战:原生开发、分包优化与认知交互设计

微信小程序作为轻量级教育工具的核心载体,其性能与用户体验高度依赖底层架构与交互逻辑。从基础的单选框组件实现到分包异步加载,再到基于艾宾浩斯遗忘曲线的记忆机制设计,技术方案需兼顾认知科学原理与工程落地约束。原生开发在首屏渲染、内存控制和调试可观测性上具备显著优势,尤其适合高频交互场景;而分包异步化不仅是体积拆分,更是白屏治理与降级策略的关键实践。结合‘微信小程序单选框’‘微信小程序分包异步化’等高频搜索需求,本文聚焦真实可运行的单词记忆小程序案例,解析如何通过最小化setData、cover-view层级控制

weixin_34396902的博客 398

css简易的进度条

<!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="UTF-8"> <metaname="viewport"content="width=device-width,initial-scale=1.0"> <metahttp-eq...

qq_45723045的博客 1035

为ESXI Host添加v3700 FC存储

物理环境: ESXI Host version 5.1.0 Brocade SAN Switch v3700 Storage 存储和ESXI Host分别用光纤线连接在SAN交换机上 1.查询ESXI Host 的WWN号: 2. SAN交换机上查询存储的WWPN号 SAN交换机: 3.建立zone,添加到cfg文件中 brocade8Gb

haoshuwei531024的专栏 7563

30分钟搭建AI科研写作工作台:基于WorkBuddy的论文全流程加速实践

在人工智能技术日益普及的今天,如何利用智能工具提升专业领域工作效率成为关键课题。其核心原理在于通过模块化设计,将复杂的任务流程拆解为可复用、可编排的标准化技能单元,并结合精准的指令控制,实现从通用对话到深度任务执行的转变。这一技术价值在于显著降低重复性劳动强度,将人的创造力聚焦于核心决策与创新环节。在科研写作、数据分析、代码开发等场景中,这类智能工作台能有效辅助完成文献调研、内容生成、格式校验等繁琐步骤。本文以科研论文写作为具体应用场景,深入探讨如何利用WorkBuddy这一智能工作台,通过配置核心科研技能

weixin_29032489的博客 1524

html5 右侧布局,详解css布局实现左中右布局的5种方式

本文介绍了详解css布局实现左中右布局的5种方式,分享给大家,具体如下:效果如下:左中右布局content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">Documenthtml *{margin: 0;padding: 0;}article{he...

weixin_34533343的博客 1640

SAP 公司间采购简介

SAP公司间采购(Intercompany Procurement)是指企业集团内部不同法人实体之间的采购和销售流程。这种流程在跨国公司或有多个独立运营子公司的企业中非常常见。SAP提供了标准的功能来处理公司间采购,确保财务和物流流程的透明性和效率。以下是SAP公司间采购的基本流程及其相关模块的简介。

我小时候很黑的博客 1378

css动画从左到右滚动的光点

先看效果: 这个小点是从左往右运动的,也非常简单,一开始绝对定位到x方向看不到,然后在生命周期函数里面定时器500毫秒,行内样式改变left的值,运动到有点看不到的位置。当然后需要有个transition才能看到动画效果 代码: <!-- 亮点 --> <span class="lightDot" ref="lightDot" :style="{left:leftPlace,transition:`left ${time}s ease-in-out`}"></span&gt

_小郑有点困了的博客 2006

RockChip Android14 修改LCD背光最大值

在调试LCD屏时时长会出现硬件不匹配,导致电流过大,屏幕发热严重。在不调整硬件的情况下,我们可以通过修改软件,降低LCD背光最大值来实现适配。我们都知道LCD屏背光是靠pwm来控制,一般来说最大值可以设置为255,针对上述问题,我们可以通过软件来降低该值,比如200,100等等。

qq_34968572的博客 631

【Basis】Lumerical licence center 无法连接的问题

端口,我们需要确认该端口是否被其他程序占用。这里我们将介绍如何处理这一问题。后,今天电脑更新后我无法打开。终结占用该端口的程序后再次打开。

u011699626的博客 314

用HTML/CSS/JS制作投资人友好的网页版商业计划书BP

网页开发中,HTML负责内容结构,CSS控制视觉呈现,JavaScript提供交互逻辑,三者结合可以构建出体验流畅的单页体验。在商业场景中,尤其是面向投资人的商业计划书(BP),传统PDF在手机端阅读体验差、信息层级不清晰,而网页版BP能够以滚动叙事、响应式布局和渐进呈现等方式快速传递要点。从基础前端技术出发,使用原生三件套搭建单页BP,包括Hero区域、数据表格、折叠面板、导航高亮等关键模块,并处理本地预览和公网部署。让非技术创业者也能低成本创建一份在手机和电脑上都能流畅阅读的融资计划书,提升投资人的阅读

weixin_33754065的博客 385

智能车图像处理11-进阶篇3--中线累积差值的统计

中线累积差值的统计在后面判断小S,以及长直道的时候都有用到,关键点在于中线的跳变 第12 - 13 行:comulants1 和comlants2代表的是两种不同的累差,取的行数不同 第14-17 行:comulants2取6到25行,其实就是My_Abs(LCenter[i], LCenter[i - 1])的累加 第18-21 行:comulants1去第1到40行 第27- 行: 计算了一下右线的开始于最终结束行,这里判断R_black是否为0,是和中线的提取中g

taiyuezyh的博客 3827

作品集页面实战:从栅格布局到响应式适配的关键细节

在网页设计与前端开发中,布局系统和响应式适配是决定页面质量的两大基石。栅格系统通过统一的列数、间距与安全边距,为信息排版提供了一套“看不见的尺子”,让多个卡片模块在视觉上保持整齐有序;而合理的断点策略则能让页面从桌面端到移动端平滑过渡,避免布局错乱与交互失效。借助 CSS 变量集中管理颜色、字号与间距,再配合图片压缩、懒加载以及平滑滚动等细节优化,可以显著提升页面的加载性能与浏览体验。这类技术不仅适用于个人作品集页面,也广泛应用于企业官网、专题落地页和电商活动页等场景。从设计稿走向真实页面时,完整走一遍结构

weixin_29535577的博客 205

机器人在果园内行巡检仿真(2D雷达、realsense相机)

DiffBot是一种具有两个轮子的自主差动驱动机器人。它的主要处理单元是一个运行Ubuntu Mate 20.04和ROS 1 (ROS Noetic)中间件的Raspberry pi4b。该存储库包含ROS驱动包、真实机器人的ROS控制硬件接口和模拟DiffBot的配置。修改配置文件orchard_world.launch。

如果想成为中心,那么就到中心去吧。 1312

Nexys4DDR+OV7670实现图像灰度显示系统嵌入式

通过对硬件平台的准备、Vivado工程配置、OV7670驱动程序的编写、图像灰度处理算法的设计以及系统集成与测试,我们成功实现了一个基于嵌入式系统的图像处理应用。当系统运行时,OV7670摄像头模块将采集到的图像传输到FPGA芯片中,然后通过图像灰度处理算法将彩色图像转换为黑白图像,并在显示设备上进行显示。OV7670摄像头模块的驱动程序是实现图像采集的核心。以上代码中,我们使用了Xilinx提供的XGpio和Xil_In32函数来进行OV7670摄像头数据的读取和GPIO的初始化。OV7670驱动程序。

WangWEel的博客 338

江苏中职计算机高考五大模块实战指南:从打字到PS的全链路能力拆解

办公软件与网页设计是计算机应用的基础核心技能,其背后涉及信息处理、数据分析和视觉呈现的完整工作流。从原理上讲,这些工具通过特定的操作逻辑和功能模块,将用户指令转化为文档、表格、网页和图像等数字化成果,其技术价值在于提升信息处理效率、规范工作流程并实现创意的可视化表达。在实际应用中,无论是日常办公、数据分析报告撰写,还是企业宣传网页制作与图像素材处理,都离不开对Word、Excel、Dreamweaver、Photoshop等软件的熟练运用。针对常见的操作难点,例如高效完成word表格双线框改成单线框这类规范

weixin_33904756的博客 401

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

数据科学配图的三大视觉陷阱与四步决策法

数据可视化是数据科学内容传播的第一道关卡,其本质不是美学修饰,而是认知效率工程。从人类视觉处理机制出发,图像信息比文字快6万倍,但数据类内容天然存在理解门槛,必须通过‘概念具象化、认知友好性、动态过程表达’三重设计原则降低注意力成本。实践中高频失效源于将通用图表替代问题映射、用技术正确性牺牲可读性、以静态截图掩盖算法动态性——这正是LSTM梯度消失具象图、SHAP值分层呈现、贝叶斯优化GIF动图等典型解法所应对的核心矛盾。本文聚焦数据科学文章封面图设计,融合注意力科学、可访问性规范与平台传播逻辑,提供可验证

weixin_30723433的博客 345

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

CSS3利用过渡实现动画效果

transition-duration和transition-delay在transition属性中都表示时间,不同的是transition-duration是指过渡完成所需要的时间,而transition-delay是指过渡在什么时间之后触发。

kokC_的博客 439

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

css图片由左至右逐渐展示(vue中实现)

css图片由左至右逐渐展示

林啾啾的博客 2842

css实现高亮模式和黑暗模式

css实现高亮模式和黑暗模式

god_sword_的博客 1665

css过渡效果

过渡动画效果,包含基本的使用方法和参数

comegoing_xin_lv的博客 2698

HTML CSS动画实现图片过渡与变换

CSS动画允许我们在元素上应用一系列的动画效果,从而创建出流畅和引人注目的过渡和变换效果。

m0_65992344的博客 1733

css 图片从左到右透明度降低

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .layer{ ...

PrimaryColor 2244

CSS3神奇的css高亮 – filter

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <style> .logo { transition: all 0.2s; cursor...

qq_42247008的博客 9041

CSS样式如何实现中间高亮左右透明的边框效果

CSS样式如何实现中间高亮左右透明的边框效果。

weixin_49203377的博客 1455
上一篇: react如何实现在网页中全屏操作?
下一篇: git 合并 dev 分支到 master
归来巨星
归来巨星 新星创作者: 前端开发技术领域 新星创作者: 前端开发技术领域
博客等级 码龄7年 5391粉丝 95原创
评论 26
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

归来巨星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值