为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第6天 前端工程师学习笔记

标签:
Html5 CSS3

第一模块

课程信息

    课程名称:前端工程师

    课程章节:过渡与动画

    课程讲师:



第二模块

课程内容:

过渡

过渡的基本使用

transition过渡

transition过渡属性是css3浓墨重彩的特性,过渡可以为一个元素在不同样式之间变化自动添加“补间动画”


兼容性
  • 过渡从IE10开始兼容,移动端兼容良好

  • 网页上的动画特效基本都是由javaScript定时器实现的,现在逐步改为css3过渡

  • 优点:动画更细腻,内存开销小

transition属性基本使用
  • transition属性4要素

                 动画时长        延迟时间
     transition:   width   1s   linear    0s;
              需要过渡的属性     变化速度曲线(缓动参数)
  • 可以参与过渡的属性:

  1. 所有数值类型的属性都可以参与过渡,比如width、height、left、top、boder-radius

  2. 背景颜色和文字颜色都可以被过渡

  3. 所有的变形(包括2D和3D)都能被过渡

  • all:如果要所有属性都参与过渡,可以写all

     transition: all 1s linear 0s;
  • 过渡的四个小属性

    属性意义
    transition-property哪些属性要过渡
    transition-duration动画时间
    transition-timing-function动画变化曲线(缓动效果)
    transition-delay延迟时间
  • transform属性的覆盖问题

    对同一个元素设置多个transform属性时,后面的transform会覆盖前面的,而不会叠加

    WechatIMG33

    假设元素初始时是旋转90deg,我们想要实现鼠标移入时,让其保持旋转状态向下运动100px,则需要如下这样写:

    WechatIMG34

  • transform属性值书写顺序问题

    如下代码,两个div的最终位置有差异

    WechatIMG35

    WechatIMG36

原因是元素旋转后,会改变轴线的方向

div2先旋转造成x轴也跟着旋转,方向如下:

1F04202C6924531D534CC5F12E12C68F

此时再设置translate(300px),则是在旋转后的轴线上移动300px,如下:

D951DA9C44FDDAA23601F244238681C6

而div1是先沿着水平的x轴移动300px,再旋转30deg

二者的轴线方向不同,所以最终效果也不同

过渡的缓动效果

  • 缓动参数
  • transition的第三个参数就是缓动参数,也是变化速度曲线

  • 常用缓动参数


  • 贝塞尔曲线

    网站https://cubic-bezier.com可以生成贝塞尔曲线,可以自定义动画缓存参数

     transition:width 1s cubic-bezier(0.1, 0.7, 1.0, 0.1) 0s;

动画

动画的定义和调用

  • 使用@keyframes来定义动画,keyframes表示“关键帧”,在项目上线前,要补上@-webkit-这样的私有前缀

     @keyframes r{/* 定义动画 r-动画的名字*/
      from{/* 起始状态 */
       transform: rotate(0);
      }
      to{/* 结束状态 */
       transform: rotate(360deg);
      }
     }
  • 定义动画之后,就可以使用animation属性调用动画

     animation: r 1s linear 0s;  /* 动画名字 总时长 缓动效果 延迟 */

动画的执行次数

  • 第五个参数就是动画的执行次数

     animation: r 1s linear 0s 3;
  • infinite 永远执行

     animation: r 1s linear 0s infinite;
  • alternate 让动画的第2、4、6……偶数次自动逆向执行

     animation: r 1s linear 0s alternate;
  • forwards 让动画停止在最后结束状态

     animation: r 1s linear 0s forwards;

多关键帧动画

 @keyframes changeColor{
   0%{
     background-color:red;
   }
   20%{
     background-color:yellow;
   }
   40%{
     background-color:blue;
   }
   60%{
     background-color:green;
   }
   80%{
     background-color:purple;
   }
   100%{
     background-color:orange;
   }
 }

第三模块

学习心得:

关于踏实,今天才算是有了比较深刻的理解。不是嘴上说自己踏实能干,不盲目着急,不做一点把握都没有但是对自己影响很大的事情,不要想着什么事情赌一把也许会有好的结果。于是我决定自己的实习如果有机会就要延长,不要匆匆结束,而且不止要延长,要再接下来的工作中有所得,有所建树,有所收获,有所贡献。

第四模块

学习完打卡截图:

https://img1.sycdn.imooc.com//6375ae820001d0f211721230.jpg

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
0
获赞与收藏
0

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消