博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
进入css3动画世界(二)
阅读量:6406 次
发布时间:2019-06-23

本文共 2649 字,大约阅读时间需要 8 分钟。

进入css3动画世界(二)

原文有动效

今天主要来讲transition和transform入门,以后会用这两种属性配合做一些动效。

注:本文面向前端css3动画入门人员,我对这个也了解不深,如本文写的有纰漏请指出,不喜勿喷。

transition属性

从中文翻译来讲,这是一个过渡属性,而这个属性的属性值有四种:

transition: property duration timing-function delay
第一个是起作用的属性名,第二个是动画持续的时间,第三个是速度效果的曲线,第四个是过渡效果延迟多久后开始。
而我经常用的是第二个属性值,其次是速度曲线。

下面我们用hover试下不同的效果:

源码:

改变宽度
持续3秒
匀速3秒
延迟1秒
.idiv{    float: left; width: 100px; height: 100px; background: green; margin: 5px; font-size: 20px; color: #fff; line-height: 100px; text-align: center; } #change-width{ transition: width 0.5s; } #change-width:hover{ width: 300px; } #dur-3s{ transition: 3s; } #dur-3s:hover{ width: 300px; } #linear{ transition: 0.5s linear; } #linear:hover{ width: 300px; } #delay-1s{ transition: 0.5s 1s; } #delay-1s:hover{ width: 300px; }

transform属性

transform的意思是变换。

transform的变换很多,我可能没那么深入去学,但是我们可以了解一下基本的几种动画:

translate(),rotate(),scale(),就凭这几种基本的动画加上你的想象力,就可以做出上一篇我们提到那头大象了。当然,这些transform的属性值最后还可以用一个属性值matrix()完成,具体可以去膜拜一下张鑫旭关于matrix()的描述。

我们暂时只讨论2d情况下的transform,当然还有一个skew()我没怎么用过。

translate

translate()是平移,translateX(x)沿着x轴平移,translateY(y)沿着y轴平移,translate(x,y)沿着xy轴同时平移:

div1 x平移
div2 y平移
div3 xy平移
.idiv{    float: left; width: 100px; height: 100px; background: green; margin: 5px; font-size: 20px; color: #fff; line-height: 100px; text-align: center; transition: 0.5s; } #div1:hover{ transform: translateX(20px); } #div2:hover{ transform: translateY(20px); } #div3:hover{ transform: translate(20px,20px); }

rotate

rotate()是旋转,2d的情况下,rotate()只接收一个角度作为参数。

顺时针旋转30°
顺时针旋转60°
顺时针旋转90°
逆时针旋转30°
逆时针旋转60°
逆时针旋转90°
.idiv{    float: left; width: 100px; height: 100px; background: green; margin: 5px; font-size: 20px; color: #fff; line-height: 50px; text-align: center; transition: 0.5s; } #rotate30:hover{ transform: rotate(30deg); } #rotate60:hover{ transform: rotate(60deg); } #rotate90:hover{ transform: rotate(90deg); } #rotate-30:hover{ transform: rotate(-30deg); } #rotate-60:hover{ transform: rotate(-60deg); } #rotate-90:hover{ transform: rotate(-90deg); }

scale()

scale()是缩放,和translate()一样,接收1-2个参数。scaleX(x),scaleY(y),scale(x,y):

x轴放大到1.5倍
y轴缩小到0.5倍
xy轴放大到2倍
.idiv{    float: left; width: 100px; height: 100px; background: green; margin: 5px; font-size: 20px; color: #fff; line-height: 50px; text-align: center; transition: 0.5s; } #scalex:hover{ transform: scaleX(1.5); } #scaley:hover{ transform: scaleY(0.5); } #scalexy:hover{ transform: scale(2,2); }

转载地址:http://bcxea.baihongyu.com/

你可能感兴趣的文章
Linux VFS
查看>>
ext不能选中复制属性_如何实现Extjs的grid单元格只让选择(即可以复制单元格内容)但是不让修改?...
查看>>
python中print的作用*8、不能+8_在 Python 3.x 中语句 print(*[1,2,3]) 不能正确执行。 (1.0分)_学小易找答案...
查看>>
python 生成html代码_使用Python Markdown 生成 html
查看>>
axure如何导出原件_Axure 教程:轻松导出图标字体所有图标
查看>>
laravel input值必须不等于0_框架不提供,动手造一个:Laravel表单验证自定义用法...
查看>>
cad填充图案乱理石_太快了吧!原来大神是这样用CAD图案填充的
查看>>
activator.createinstance 需要垃圾回收么_在垃圾回收器中有哪几种判断是否需要被回收的方法...
查看>>
rocketmq 消息指定_RocketMQ入坑系列(一)角色介绍及基本使用
查看>>
redis zset转set 反序列化失败_掌握好Redis的数据类型,面试心里有底了
查看>>
p图软件pⅰc_娱乐圈最塑料的夫妻,P图永远只P自己,太精彩了吧!
查看>>
jenkins 手动执行_Jenkins 入门
查看>>
怎么判断冠词用a还是an_葡语干货 | 葡萄牙语冠词用法整理大全
查看>>
js传参不是数字_JS的Reflect学习和应用
查看>>
三个不等_数学一轮复习05,从函数观点看方程与不等式,记住口诀与联系
查看>>
卡尺测量的最小范围_汽车维修工具-测量用具
查看>>
网优5g前景_5G网络优化师前景怎么样?
查看>>
竞态条件的赋值_[译] part25: golang Mutex互斥锁
查看>>
delmatch oracle_完美完全卸载(清除)oracle数据库的方式(方法)
查看>>
pyqt 滚动条 美化_Pyqt5 关于流式布局和滚动条的综合使用示例代码
查看>>