前言

今天看到某网站上有关于“用js实现图片的缓慢伸展”和“图片缩放”的课程,不禁心血来潮,想要写篇文章,也算是纪念一下曾经被难倒的问题吧。

先来说一下

用js实现图片缓慢缩放效果

在我设计的某网页中,有这样一串代码:
HTML

<div class="bb1"><img src="./xc/img/t01b610a3fe936675f8.jpg" width="200" height="110">
</div>
<div class="bb2"><img src="./xc/img/QQ图片20190508133048.jpg" width="100" height="95">
</div>
<div class="bb4"><img src="./xc/img/QQ图片20190508133039.jpg" width="100" height="110">
</div>
<div class="bb5"><img src="./xc/img/160742ztopgvore162mrm5.jpg" width="100" height="110">
</div>
<div class="bb6">
</div>

最后一个bb6从后面代码可以看出,这是没有相关特效的div,故将其图片放在了css中。
(图片的两种引入方式:1.HTML中 <img src="图片路径"> 和 2.css中 background:url("图片路径");
css

.bb1{float: right;width: 200px;height: 110px;margin-top: 80px;margin-right: 40px;-webkit-transition: transform .30s linear;-moz-transition: transform .30s linear;-o-transition: transform .30s linear;transition: transform .30s linear;}.bb1:hover{transform:rotate(360deg);}.bb1 img{clip-path: circle(40% at 50% 50%);-webkit-clip-path:circle(40% at 50% 50%);transition: all 400ms ease;cursor: pointer;}.bb1 img:hover{clip-path: circle(75% at 50% 50%);-webkit-clip-path:circle(75% at 50% 50%);}.bb2{float: right;width: 110px;height: 99px;margin-top: 220px;margin-right: -280px;-webkit-transition: transform .25s linear;-moz-transition: transform .25s linear;-o-transition: transform .25s linear;transition: transform .25s linear;}.bb2:hover{transform:rotate(360deg);}.bb2 img{clip-path: circle(40% at 50% 50%);-webkit-clip-path:circle(40% at 50% 50%);transition: all 400ms ease;cursor: pointer;}.bb2 img:hover{clip-path: circle(75% at 50% 50%);-webkit-clip-path:circle(75% at 50% 50%);}.bb4{float: right;width: 100px;height: 100px;margin-top: 420px;margin-right: -335px;-webkit-transition: transform .25s linear;-moz-transition: transform .25s linear;-o-transition: transform .25s linear;transition: transform .25s linear;}.bb4:hover{transform:rotate(360deg);}.bb4 img{clip-path: circle(40% at 50% 50%);-webkit-clip-path:circle(40% at 50% 50%);transition: all 400ms ease;cursor: pointer;}.bb4 img:hover{clip-path: circle(75% at 50% 50%);-webkit-clip-path:circle(75% at 50% 50%);}.bb5{float: right;width: 100px;height: 100px;margin-top: 0;margin-right: 160px;-webkit-transition: transform .25s linear;-moz-transition: transform .25s linear;-o-transition: transform .25s linear;transition: transform .25s linear;}.bb5:hover{transform:rotate(360deg);}.bb5 img{clip-path: circle(40% at 50% 50%);-webkit-clip-path:circle(40% at 50% 50%);transition: all 400ms ease;cursor: pointer;}.bb5 img:hover{clip-path: circle(75% at 50% 50%);-webkit-clip-path:circle(75% at 50% 50%);}.bb6{float: left;width: 386px;height: 200px;margin-top: 300px;margin-left: 5px;background: url("../xc/img/qiuzhen.png") no-repeat;background-size: 386px 200px;-webkit-transition: transform .25s linear;-moz-transition: transform .25s linear;-o-transition: transform .25s linear;transition: transform .25s linear;}.bb6:hover{transform:rotate(360deg);}

来,让我们细细‘品味’一下这串css代码:
那其他代码有什么用?
我们取bb5为例:

 .bb5 img{clip-path: circle(40% at 50% 50%);-webkit-clip-path:circle(40% at 50% 50%);transition: all 400ms ease;cursor: pointer;}.bb5 img:hover{clip-path: circle(75% at 50% 50%);-webkit-clip-path:circle(75% at 50% 50%);}

取div中的图片属性
让它缩小成一个圆,在鼠标悬停其上时,舒展开来,过程消耗400ms。

其次,最明显的某过于“:hover”了,这是鼠标样式的一种状态——当鼠标滑过(或说:悬浮)某区域时。。。

鼠标指向的四种状态(以a链接为例)

a:link {}: 未被访问的链接
a:visited {}:已被访问的链接
a:hover {} :鼠标指针移动到链接上
a:active {}:正在被点击的链接

而我们比如bb1,其实就代表了以上四种状态,下面的bb1:hover意为“属性覆盖”。
我们发现,每个div属性中,都有这四行代码:

      -webkit-transition: transform .30s linear;-moz-transition: transform .30s linear;-o-transition: transform .30s linear;transition: transform .30s linear;

这是延缓图片动作的代码(好像还包括了浏览器的兼容问题)
配合每个下面的:hover

transform:rotate(360deg);

这就是让图片在鼠标悬停上面时旋转一圈,鼠标移出时恢复的完整代码。

怎么说呢,这也算是“通用代码”了吧,其实如果不加啥其他特效的话,记着就行,但还是建议至少将其中的属性值弄明白。。。

实例展示:用css实现网页图片特效相关推荐

  1. CSS+JS实现网页(图片)特效

    1.图片半透明效果 实现图片默认显示是半透明的效果,鼠标移上去时透明度变为100%. ①用CSS+JS实现 用CSS定义一类: #spotlight { FILTER: light } 并加入如下JS ...

  2. 仿电台网站网页版html代码,实例展示DIV+CSS实现电台列表

    这篇文章主要介绍了p+CSS实现电台列表设计的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 CSS Spite技术:也就是CSS精灵技术,实际上CSS的精灵就是 ...

  3. css长图如何展示局部,css可以设置图片以最短边为依据展示在父级中吗?

    有这么个需求: div里有个img标签,图片是从后台传过来的,宽高不定,长度不定,而div是个写死了宽高的一个正方形, 需求是,不论图片宽高多少,比例是什么样子,让图片充满DIV,且图片不能走形. 因 ...

  4. 如何用CSS将网页图片或整个页面弄成黑白

    场景需求 因为某些原因,需要将图片弄成黑白,甚至想把真个网页都弄成黑白,而不需要太多的代码,应该怎么弄? 利用CSS的 filter: grayscale(1) 使用 filter 属性对元素应用滤镜 ...

  5. CSS实现网页图片预加载

    #preloadedImages {        width: 0px;        height: 0px;        display: inline;        background- ...

  6. CSS基础学习十九:CSS布局之图文混排,图像签名,多图拼接和图片特效

    学习了CSS布局的定位和浮动,我们可以简单地做出很多排版和内容拼接.今天就来做几个简单的实例展示现在 流行的DIV+CSS布局的方便好用之处.顺便也说一下CSS3新增的样式属性box-shadow和属 ...

  7. CSS写一个网页烟花特效并使用

    这是一个使用 CSS 实现网页烟花特效的例子: /* 给烟花容器设置样式 */ .fireworks {position: relative;height: 100vh;overflow: hidde ...

  8. web网页设计——体育气步枪射击主题(5页面)带图片轮播特效(HTML+CSS) ~学生网页设计作业源码

    web网页设计--体育气步枪射击主题(5页面)带图片轮播特效(HTML+CSS) ~学生网页设计作业源码 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手 ...

  9. web前端期末大作业 html+css+javascript 酒庄网页设计实例(5个页面)~学生网页设计制作...

    web前端期末大作业 html+css+javascript 酒庄网页设计实例(5个页面)~学生网页设计制作 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从 ...

  10. web前端期末大作业(月饼美食网站) html+css+javascript网页设计实例 企业网站制作...

    web前端期末大作业(月饼美食网站) html+css+javascript网页设计实例 企业网站制作 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手? ...

最新文章

  1. 部分样式在360和ie上不能显示_Adobe Photoshop添加图层样式全方面介绍
  2. Office EXCEL 如何为宏命令指定快捷键或者重新设置快捷键
  3. 社区计算机义务维修策划书,计协义务维修策划书(模板).doc
  4. CodeForces - 427D Match Catch(后缀数组/广义后缀自动机)
  5. Android线程池详解
  6. C++描述杭电OJ 2000. ASCII码排序 ||
  7. 设置windows引导linux分区,windows下安装grub引导Linux
  8. java工程师占比_2020年Java工程师就业分析
  9. 数字信号处理matlab——FIR浅析1
  10. 手摸手深入理解JVM虚拟机--在MacOS系统上编译OpenJDK12并使用CLion调试靠谱教程
  11. 字符集,字体,编码,代码页,输入法
  12. Python PIL 库的应用
  13. space-evenly的兼容性问题
  14. 常见登录密码加密方式
  15. 118 以太坊 ethereum hardhat :编译 artifacts
  16. 电路的基本概念和分析方法
  17. 企业网络中的防火墙旁挂实例
  18. 错题本Android Studio
  19. uwp windows_如何在Windows 10的UWP游戏中监视FPS
  20. 西安将建国家级服务外包示范区

热门文章

  1. matlab三踪示波器,3.2 示波器CSV数据导入MATLAB
  2. 笔记本连接显示器后没有声音_笔记本电脑外接显示器后没声音,请问怎么调整设置...
  3. 吴昊品游戏核心算法 Round 8(特别篇) —— 吴昊教你打麻将(牌型分析AI)
  4. 3.22 进口物料的报关手册核销
  5. 在线CHM阅读器(1)——CHM文件格式概述
  6. HDFS中NameNode和DataNode的作用
  7. 微信朋友验证消息是什么来源_微信好友来源朋友验证消息
  8. 江苏咪咕MGV3000_YST代工_S905L3_线刷固件包
  9. python——获取矩形四个角点的坐标
  10. java 生成 rtf,JAVA实现BI报表中RTF模版转PDF