马上就2020年了,不知道小伙伴们今年学习了css3动画了吗?

说起来css动画是一个很尬的事,一方面因为公司用css动画比较少,另一方面大部分开发者习惯了用JavaScript来做动画,所以就导致了许多程序员比较排斥来学习css动画(至少我是),但是一个不懂css动画的前端工程师不能称之为掌握css3,其实当你真正学习css动画之后,你会被它的魅力所吸引的,它可以减少代码量、提高性能。

话不多说,马上和我一起去学习今天的主角transition吧!

transition 语法

值描述transition-durationtransition效果需要指定多少秒或毫秒才能完成transition-property指定CSS属性的name,transition效果transition-timing-function指定transition效果的转速曲线transition-delay定义transition效果开始的时候

transition翻译成中文是过渡的意思,顾名思义,它就是专门做过渡动画的,比如一些放大缩小,隐藏显示等,下面我们一起来学习一下他的语法。

transition-duration:transition效果需要指定多少秒或毫秒才能完成

div{ width:100px; height:100px; border-radius: 50%; background:#f40; transition-duration:1s;}div:hover{ height:150px;  width:150px;}

这是transition最基本的用法,transition-duration为动画执行所需的时间,这段代码的意思就是鼠标移入,div的宽高就会都变成150px

transition-property:指定CSS属性的name,transition效果

div{ width:100px; height:100px; border-radius: 50%; background:#f40; transition-duration:1s; transition-property:width;}div:hover{ height:150px;  width:150px;}

这里transition-property值仅为width,意思是只给width加动画,所以会呈现这种效果,同样如果换成了height,那么将会是变高才有动画。

我们发现,第一个案例我们并没有写transition-property,但是案例中width和height属性是同时变化的,那是因为transition-property的默认值为all,只要不写这个属性,那就是全部变化都会执行动画。

transition-timing-function:指定transition效果的转速曲线

div{ width:100px; height:50px; background:#f40; transition-duration:2s; transition-timing-function:ease-in-out;}div:hover{ width:250px;}

transition-timing-function的作用就是改变动画在每一帧的快慢。这里transition-timing-function仅展示值为ease-in-out的动画效果,可以理解为慢-快-慢。其他的不做展示,可以参考下表进行理解。

值描述速度linear(默认属性)规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。匀速ease规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))。快-慢-慢ease-in规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))。快-快ease-out规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))。慢-慢ease-in-out规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))。慢-快-慢cubic-bezier(n,n,n,n)在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。自定义

transition-delay:定义transition效果开始的时候

div{ width:100px; height:100px; border-radius: 50%; background:#f40; transition-duration:1s; transition-delay:1s;}div:hover{ height:150px;  width:150px;}

这里transition-delay的值为1s,意思是动画将在延迟一秒后执行。


今天我们一共学习了四个属性值,他们都是属于transition属性的,这里给出属性值在transition中的简写方式。

transition: property duration timing-function delay;

div{ transition:all 1s ease-in-out 2s;}

那么这里的意思就是所有属性都加入持续一秒,缓进缓出的动画,并在两秒钟后开始执行。

结论

经过以上的学习,相信你已经初步了解了transition的用法,transition用来过渡再好不过了,但是仅靠它做不了一些炫酷的动画,我将在接下来的文章继续为你讲解animation(动画)、translate(移动)以及transform(变形),跟进我的脚步吧,跟我一起在2020年前掌握css动画!

点击【右上角,关注 子瑜说IT 】持续更新IT资讯以及web前端开发教学

8年开发老码农福利赠送:网页制作,网站开发,web前端开发,从最零基础开始的的HTML+CSS+JavaScript。jQuery,Ajax,node,angular框架等到移动端小程序项目实战【视频+工具+系统路线图】都有整理,送给每一位对编程感兴趣的小伙伴

获取方式:

右上角有私信,请私信发我:01 即可获取!

css hover变成手_web前端入门到实战:彻底掌握css动画「transition」相关推荐

  1. 以及其任何超类对此上下文都是未知的_web前端入门到实战:Javascript 中的「上下文」你只需要看这一篇

    正文 上下文 是Javascript 中的一个比较重要的概念, 可能很多朋友对这个概念并不是很熟悉, 那换成「作用域」 和 「闭包」呢?是不是就很亲切了. 「作用域」和「闭包」 都是和「执行上下文」密 ...

  2. react 改变css样式_web前端入门到实战:编写CSS代码的8个策略,资深开发工程师总结...

    编写基本的CSS和HTML是我们作为Web开发人员学习的首要事情之一.然而,我遇到的很多应用程序显然没有人花时间真正考虑前端开发的长久性和可维护性.我认为这主要是因为许多开发人员对组织CSS / HT ...

  3. css两张图片怎么合在一起_web前端入门到实战:纯CSS实现两个球相交的粘粘效果...

    这是一个纯粹利用CSS所做出来的效果,这个效果说穿了就是一个图像处理的原理,做法跟Photoshop里头的几乎一模一样,只是一个用图层和色版来制作,一个则是用CSS(把div当成图层思考就好了). 从 ...

  4. 前端实现炫酷动效_web前端入门到实战:使用CSS创建一个炫酷的球体动画效果

    一个纯CSS实现的球体动画效果: 经过研究上面的效果实现起来大致可以分为五个步骤,下面就来一一介绍. 1.使用Jade和SCSS生成一个圆圈 创建一个圆圈的第一步是生成所有组成圆圈的粒子.有了Jade ...

  5. 转圈加载html,web前端入门到实战:纯CSS实现加载转圈样式

    web前端入门到实战:纯CSS实现加载转圈样式 发布时间:2020-05-27 18:11:33 来源:51CTO 阅读:134 作者:前端向南 不同的项目中对于等待加载时转圈圈的样式是不同的,有的是 ...

  6. rem 前端字体_web前端入门到实战:一次搞懂CSS字体单位:px、em、rem和%

    对于绘图和印刷而言,"单位"相当重要,然而在网页排版里,单位也是同样具有重要性,在CSS3普及以来,更支持了一些方便好用的单位(px.em.rem-等),这篇文章将整理这些常用的C ...

  7. css 百分比 怎么固定正方形_web前端入门到实战:一次搞懂CSS字体单位:px、em、rem和%

    对于绘图和印刷而言,"单位"相当重要,然而在网页排版里,单位也是同样具有重要性,在CSS3普及以来,更支持了一些方便好用的单位(px.em.rem-等),这篇文章将整理这些常用的C ...

  8. web css圆弧波浪线,web前端入门到实战:css实现波浪线及立方体

    这里是利用linear-gradient来实现,也就是画圆,然后利用底色来遮住部分圆:利用css3属性perspective加旋转实现立方体 1.css实现波浪线 html css .card-lis ...

  9. web前端入门到实战:实现CSS形状变换

    CSS3的"clip-path",这个"clip-path"看起来有点眼熟,因为它原本就存在于SVG里头,利用掩码(剪裁)的方法,连接坐标绘制掩码区域,就可以做 ...

最新文章

  1. 对英文文档中的单词与词组进行频率统计
  2. Android wechat 分享
  3. python高通滤波器设计_python实现直方图均衡化,理想高通滤波与高斯低通滤波
  4. phpstorm运行java项目_phpstorm的提速设置
  5. Java新手造假_老板居然让我在Java项目中“造假”
  6. mysql 征途_MySQL数据库
  7. HTML+CSS+JS实现 ❤️基于Javascript简单计算器特效❤️
  8. linux下LAMP环境的搭配
  9. 每日总结 - Android TextView文字底部或者中间 加横线
  10. 64位ODBC数据源配置
  11. 数据库mysql报2005错_sql2005还原数据库错误的问题解决方法
  12. Oracle数据库经典50题(附答案),写完不理解的来打我
  13. xmind8 安装方法(old)
  14. 【SPSS笔记】主效应、交互效应
  15. 计算机软件自启动设置,设置开机启动项,详细教您电脑如何设置开机启动项
  16. 台风怎么看内存颗粒_普条居然采用南亚A-DIE HR颗粒,光威TYPEα内存条稳超3200MHZ...
  17. 提升自我的42个实用技巧
  18. 微信赌场——H5棋牌游戏渗透之旅
  19. AT指令(中文详解版)二 [转载]
  20. JeecgBoot关于websocket的改进方案

热门文章

  1. 对于局部变量_对于SQL常用查询优化方法的整理
  2. Python第十七课(面向对象基础)
  3. LINUX-关机 (系统的关机、重启以及登出 )
  4. day05-数据类型与操作
  5. 171. Excel Sheet Column Number (Easy)
  6. Xshell 无法连接虚拟机中的ubuntu的问题
  7. CentOS 7 gedit编辑器中文乱码解决方法
  8. Android的Fragment介绍
  9. jquery非常不错的图片切换,多种切换效果
  10. Java中文乱码处理