闪光效果

当鼠标光标移动到图片上的时候,有一道流星般的闪光划过

点击查看效果

图片抓拍截图:

我们可以看到,有一道白光正在扫过这张图片

代码实现

css代码

#wrapper{position: relative;width: 240px;cursor: pointer;
}
#flash{position: absolute;width: 100px;height: 100%;left: -145px;top: 0;background:-webkit-linear-gradient(left,rgba(255,255,255,0)0%,rgba(255,255,255,0.5)50%,rgba(255,255,255,0)100%);transform: skewX(-30deg);
}
#wrapper:hover #flash{left: 300px;transition: all 0.5s ease-in-out;
}

html代码

<div id="wrapper" title="css魔法"><div id="flash"></div><img src="img/magic.jpeg" width="100%">
</div>

理解基础

要想理解上面的代码,需要具备线性渐变的知识和skew函数的变换

线性渐变

线性渐变属性是一个颜色渐变属性,它的语法格式如下

-webkit-linear-gradient:(方向,颜色1+进度,颜色2+进度)

比如说:

background:-webkit-linear-gradient(left,rgba(255,255,255,0)0%,rgba(255,255,255,0.5)50%,rgba(255,255,255,0)100%);

它的含义就是从左到右渐变,进度分别是0%,50%,100%

我们举个小案例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>线性渐变</title><style>.wrapper{width: 200px;height: 200px;background: -webkit-linear-gradient(left,#00FFFF 0%,#0000FF 50%,#00FFFF 100%);}</style>
</head>
<body>
<div class="wrapper"></div>
</body>
</html>

实现效果:

我们可以看到这样一个带有魔法效果的盒子,如果你喜欢我的这个专栏css魔法,可以打开查看更多的css特效

skew()变形函数

skew是一个形变函数,是css3新增的特性之一。我们使用它可以实现高级的形变效果。

skew是什么呢?它可以把盒子进行倾斜,举个例子:我们把上面的漂亮蓝色渐变盒子,进行skewX拉伸

代码示例:

css

.wrapper{width: 200px;height: 200px;margin-left: 100px;background: -webkit-linear-gradient(left,#00FFFF 0%,#0000FF 50%,#00FFFF 100%);/*变形函数*/transform: skewX(-30deg);
}

html

<div class="wrapper"></div>

实现效果:skewX(30deg)

skewX函数是将盒子沿着x轴方向进行倾斜,skewX(-30deg)的意思是顺时针方向沿着x轴倾斜30度。那么skewX(30deg)的意思就是逆时针方向沿着x轴倾斜30度

我们在举一个y方向skew的例子

css

 .wrapper{width: 200px;height: 200px;margin-left: 100px;background: -webkit-linear-gradient(left,#00FFFF 0%,#0000FF 50%,#00FFFF 100%);transform: skewY(-30deg);
}

js

<div class="wrapper"></div>

实现效果:skewY(30deg)

skewY函数是将盒子沿着y轴方向进行倾斜,skewY(30deg)的意思是顺时针方向沿着y轴倾斜30度。那么skewY(-30deg)的意思就是逆时针方向沿着y轴倾斜30度

我们不难发现skewX和skewY的方向是反的

函数类型 特点
skewX() 正角度是是逆时针倾斜,负角度是顺时针倾斜
skewY() 正角度是顺时针倾斜,负角度是逆时针倾斜

两者恰恰相反

最终代码解读

有了上面的基础,我们就可以进行讲解了

注意看下面这些代码

#flash{position: absolute;width: 100px;height: 100%;left: -145px;top: 0;background:-webkit-linear-gradient(left,rgba(255,255,255,0)0%,rgba(255,255,255,0.5)50%,rgba(255,255,255,0)100%);transform: skewX(-30deg);
}

重点看left:-145px

这个时候图片和平行四边形的位置是

这里我把线性渐变的颜色调成了蓝色,方便看的更加清楚

再来看下面的代码

 #wrapper:hover #flash{left: 300px;transition: all 0.5s ease-in-out;}

left由原来的-145px变成了300px,过渡时间是0.5s,这个平行四边形扫过图片,形成闪光效果

这个特效讲解完毕了,学会了吗?

CSS实现图片层闪光效果相关推荐

  1. 闪光css,CSS实现的一闪而过的图片闪光效果

    只需要两个html元素和一个css变换,我就能创造出我自己的闪光效果.让我们来实现它! 呈现光泽图片 下面就是这张addy在他博客上使用的图片: 比我需要的要大一些,但你可以把它裁剪一些. 注意:左边 ...

  2. html图片自带闪光效果,CSS实现的一闪而过的图片闪光效果

    只需要两个HTML元素和一个CSS变换,我就能创造出我自己的闪光效果.让我们来实现它! 呈现光泽图片 下面就是这张Addy在他博客上使用的图片: 比我需要的要大一些,但你可以把它裁剪一些. 注意:左边 ...

  3. 修改placeholder文字 文字换行省略号 背景图固定 鼠标经过图片闪光效果

    1.input框里面的placeholder文字字体大小修改 input {background-color:transparent;font-size: (13 / @baseSize);paddi ...

  4. android 背景图遮罩,通过css使用background-color为背景图添加遮罩效果

    一个div同时设置background-color和background-image的话,color是处于img层下方的,无法实现遮罩效果,所以需要再创建一个div作为其子div,然后设置子div的背 ...

  5. CSS如何实现内凹角效果 By 大漠

    记得@Lea Verou的<CSS Secrets>一书和前几天@Chris Coyier刚发的帖子都介绍了CSS怎么实现元素斜切口的效果.我也尝试着借助Vue的能力,把这种效果构建成一个 ...

  6. php渐变字,jQuery_jQuery实现的立体文字渐变效果,先截两个图看看: 效果很 - phpStudy...

    jQuery实现的立体文字渐变效果 先截两个图看看: 效果很不错吧?会不会误以为这些字体是图片?这可不是图片,而是用JS实现的 在线演示 http://demo.phpstudy.net/js/gra ...

  7. i css svg,如何设置 CSS 背景图中的 SVG 的颜色

    Coloring SVGs in CSS Background Images 如何设置 CSS 背景图中的 SVG 的颜色 I love using SVG in CSS background ima ...

  8. html文字抖动效果,CSS实现TikTok文字抖动效果示例

    前端同学在日常开发中精彩会因为一些动效和设计争的面红耳赤,设计希望用代码实现,前端要设计出gif图,最后谁也不让谁,设计走了,留下了前端独自加班...... CSS技术是前端必须掌握的一项技能,不仅要 ...

  9. css三实现ui,纯CSS实现常见的UI效果

    原标题:纯CSS实现常见的UI效果 转自:掘金 - alphardex 前言 切图仔,是大多数前端用来自嘲的称呼.相信很多人平时写页面的时候,大部分时间是在切图和排图,如此往复.这里并不是要否定切图本 ...

  10. html多张图片无缝滚动播放,jQuery实现的多张图无缝滚动效果【测试可用】

    本文实例讲述了jQuery实现的多张图无缝滚动效果.分享给大家供大家参考,具体如下: slider *{ padding: 0; margin: 0; } li{ list-style-type: n ...

最新文章

  1. fl out of focus插件_高质量插件之激励器篇
  2. SDO_GEOMETRY结构说明
  3. js返回上一页并刷新代码整理 转
  4. linux ftp下载文件_Linux系统中10个使用Wget命令下载文件示例
  5. 傻孩子的故事--写给为编程而努力的HiccDS
  6. jzoj3919-志愿者【换根法,线段树,树形dp】
  7. 华为云GaussDB(for MySQL)2.0全新升级,三大技术大揭秘
  8. [译] iOS 设计模式进阶
  9. 2021:测试人员面试时都中过哪些套路?
  10. 51Nod-1015 水仙花数【进制+查表搜索】
  11. 有关java中的集合List,set,Map 等
  12. IP/TCP IP分组的交付与转发
  13. ERP管理web后台_数字化、智能化工厂管理系统原型、erp生产管理、仓库管理、采购管理、设备能源管理、计划管理、数字化工厂erp管理系统、生产计划、采购计划、用料请领、产品bom、工序管理、车间设备
  14. 语音聊天系统包含哪些类型?语音社交APP开发重点
  15. SCAPY官方教程十一
  16. caffe版本-车型检测-A Large-Scale Car Dataset for Fine-Grained Categorization and Verification
  17. 江西理工大学校园网开机自动连接,断网自动重连
  18. java 每天执行一次_java定时器每隔5秒执行一次任务要怎么编写?
  19. oracle同义词删除重建,Oracle同义词的创建与删除
  20. android studio(自带SDK)安装教程

热门文章

  1. 2017-2018-2 20179209《网络攻防》第八周作业
  2. c语言实验报告(四) 从键盘输入字符串a和字符串b,并在a串中的最小元素(不含结束符)后面插入字符串b....
  3. ssb的matlab仿真,单边带调制(SSB调制)的理论基础和MATLAB仿真
  4. 【数据结构与算法】- 排序(算法)
  5. amoeba mysql_mysql中间件-amoeba
  6. 前端骨架屏方案与实践
  7. it行业发展前景怎么样?互联网寒潮来袭是真的吗?
  8. html5游戏 搭积木,搭积木游戏,搭积木游戏创意名字
  9. 我私藏的那些实用的终端命令行工具
  10. Python3对Excel表格操作(写入、追加)