css3中仿放大镜效果的几种方式原理解析


Posted in HTML / CSS onDecember 03, 2020

文章标题为啥是“仿放大镜”?
因为我今天要说的,并不是像一般说的,鼠标移入时旁边弹出一个局部的大图,那很好写,也没多少技巧(用相对定位定位父元素(或说:原图),绝对定位定位局部大图(目的:让它处于原图旁边某位置),在旁边用css控制样式并用鼠标事件监听,,,当然,你也可以直接用jQuery中的接口——$(‘类名’).jqzoom({zoomwidth:xx; zoomheight: xx; zoomType:‘reverse’;})最后的Type定义了放大镜类型)

好了,言归正传,我今天要说的是 鼠标移入时图片在原位置放大 的动画!
没错,就是动画。(如下:从某网站抠图)

css3中仿放大镜效果的几种方式原理解析

起初想到的是css3的 @keyframes属性 ,因为这个用的多一些嘛,
比如:你可以用 from…to 来指定样式——入场动画和出场动画

还比如:你可以通过transition实现( 今天重点

先知:CSS3属性transform——(旋转:rotate,缩放:scale,倾斜:skew,移动:translate)

例如:
元素正常宽度是 100px,鼠标经过时宽度变为 200px。
如果只设置宽度值,效果如下图:

css3中仿放大镜效果的几种方式原理解析
 

看起来是不是很生硬。我们再看一下加上 transition 的效果:
 

css3中仿放大镜效果的几种方式原理解析
 

看了两个效果的差别,就大概明白 transition 属性的作用了吧。本例目标和宽度变化类似,只不过是换了一个最终效果。请继续往下看详细代码:

<div id="container">
  <img src="./little_boy.jpg" />
  <span>大家好呀!我是谁你猜?</span>
</div>
#container {
  margin: 200px;
  position: relative;
  width: 300px;
  height: 300px;
  background-color: greenyellow;
  transition: transform .5s ease-out;
}

#container img {
  width: 100%;
  height: 100%;
}

#container span {
  position: absolute;
  top: 0;
  left: 0;
  margin: 6px;
  width: 100%;
  height: 20px;
  line-height: 20px;
  font-size: 18px;
  color: white;
  text-align: center;
}

#container:hover {
  transform: scale(1.3);
}

解析:
(1)添加容器的 hover 伪类,通过 transform 属性设置容器放大效果
(2)设置容器的 transition 属性,属性值为 transform 以及其动画时长

到此这篇关于css3中仿放大镜效果的几种方式原理解析的文章就介绍到这了,更多相关css3仿放大镜内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
CSS3 @font-face属性使用指南
Dec 12 HTML / CSS
CSS3 display知识详解
Nov 25 HTML / CSS
CSS3 text shadow字体阴影效果
Jan 08 HTML / CSS
canvas之万花筒效果的简单实现(推荐)
Aug 16 HTML / CSS
css3学习系列之移动属性详解
Jul 04 HTML / CSS
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
Dec 13 HTML / CSS
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
Jul 19 HTML / CSS
HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)
Aug 24 HTML / CSS
利用Storage Event实现页面间通信的示例代码
Jul 26 HTML / CSS
Html5饼图绘制实现统计图的方法
Aug 05 HTML / CSS
详解CSS不定宽溢出文本适配滚动
May 24 HTML / CSS
HTML基础详解(下)
Oct 16 HTML / CSS
CSS3 实现飘动的云朵动画
Dec 01 #HTML / CSS
CSS3 filter(滤镜)实现网页灰色或者黑色模式的代码
Nov 30 #HTML / CSS
CSS3 实现时间轴动画
Nov 25 #HTML / CSS
纯CSS3实现的井字棋游戏
Nov 25 #HTML / CSS
HTML+CSS3+JS 实现的下拉菜单
Nov 25 #HTML / CSS
CSS3 实现倒计时效果
Nov 25 #HTML / CSS
CSS3贝塞尔曲线示例:创建链接悬停动画效果
Nov 19 #HTML / CSS
You might like
php中将汉字转换成拼音的函数代码
2012/09/08 PHP
php邮件发送的两种方式
2020/04/28 PHP
BOOM vs RR BO5 第四场 2.14
2021/03/10 DOTA
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
JS去掉第一个字符和最后一个字符的实现代码
2014/02/20 Javascript
javascript中SetInterval与setTimeout的定时器用法
2015/08/24 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
微信小程序自定义轮播图
2018/11/04 Javascript
实例讲解JavaScript截取字符串
2018/11/30 Javascript
node.js的Express服务器基本使用教程
2019/01/09 Javascript
vue 需求 data中的数据之间的调用操作
2020/08/05 Javascript
python基础教程之元组操作使用详解
2014/03/25 Python
widows下安装pycurl并利用pycurl请求https地址的方法
2018/10/15 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
Pandas中DataFrame的分组/分割/合并的实现
2019/07/16 Python
Python解压 rar、zip、tar文件的方法
2019/11/19 Python
python操作cfg配置文件方式
2019/12/22 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
python集合能干吗
2020/07/19 Python
使用CSS3代码绘制可爱的Hello Kitty猫
2016/08/03 HTML / CSS
钉钉企业内部H5微应用开发详解
2020/05/12 HTML / CSS
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
How TDD works
2012/09/30 面试题
教师自荐信
2013/12/10 职场文书
服务行业个人求职的自我评价
2013/12/12 职场文书
《雪儿》教学反思
2014/04/17 职场文书
干部选拔任用方案
2014/05/26 职场文书
新农村建设标语
2014/06/24 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书
导游词之天津古文化街
2019/11/09 职场文书
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技
Java8利用Stream对列表进行去除重复的方法详解
2022/04/14 Java/Android