page contents

CSS动画-animation各个属性详解

css动画-animation各个属性详解css3的 animation 很容易就能实现各种酷炫的动画,虽然看到别人的成果图会觉得很难,但是如果掌握好各种动画属性,做好酷炫吊炸天的动画都不在话下,好,切入正题...

attachments-2021-07-iq7A5drU60ecfdbb6f734.png

css动画-animation各个属性详解

css3的 animation 很容易就能实现各种酷炫的动画,虽然看到别人的成果图会觉得很难,但是如果掌握好各种动画属性,做好酷炫吊炸天的动画都不在话下,好,切入正题。

一、动画属性

动画属性包括:
①animation-name
②animation-duration
③animation-timing-function
④animation-delay
⑤animation-iteration-count
⑥animation-direction
⑦animation-fill-mode
⑧animation-play-state
 
属性详解

1、animation-name:指定要绑定到选择器的关键帧的名称。
2、animation-duration:定义动画完成一个周期需要多少秒或毫秒
3、animation-timing-function:指定动画将如何完成一个周期。

attachments-2021-07-gaDqLbbi60ecfed9a1c1b.png

关于cubic-bezier(n,n,n,n):

  1. cubic-bezier(n,n,n,n)称为三次贝塞尔曲线,速度曲线。
  2. cubic-bezier(n,n,n,n) 曲线定制
  3. 小球落地又弹起demo
    我不知道这个cubic-bezier曲线是怎么算出来的,难道是要靠自己试出来的嘛,不知道有没有人知道怎么算出来的。???

演示demo(4个方块背景颜色变化)
demo解析:
①step-start:20%(background: green;)到60%(background: blue;)之间,显示的是60%的效果(background: blue;)
②step-end:与step-start相反,20%(background: green;)到60%(background: blue;)之间,显示的是20%的效果(background: green;)
③steps(1, start) 等于step-start,steps(1,end)等于step-end
④steps函数的工作机制:
steps函数的工作机制

4、animation-delay:定义动画什么时候开始。

属性解析:

  1. 单位可以是秒(s)或毫秒(ms)。
  2. 单位可以是负值,-2s表示动画立马开始,但跳过 2 秒进入动画,即前2秒的动画不执行,直接跳过前2秒进入动画。

演示DEMO:

  1. 类似音波的加载效果demo
    demo解析:
    ①设置同样的动画,通过animation为负值来实现不同时间段的线条的长度。
    在这里插入图片描述
    ②效果示意:
    一次动画1.2s,分解为12个阶段,每个阶段0.1秒。每个阶段的第3秒线拉长。
    line1是从0进入动画。
    line2是跳过前11个阶段,即直接从11进入动画。
    依次类推…
    ③写5个div时,连着写,然后自己设置margin,一方面避免代码压缩后各线条之间没有空隙,另一方面避免自己不知道5根线的总宽度。
  2. 京东全民寻宝demo
    demo解析:
    ①如果没有steps(8),图片会从第一行字直接跳到最后一行,中间的6行不会出现。

5、animation-iteration-count :定义动画应该播放多少次。

attachments-2021-07-4qkfqcGv60ecff1dce782.png

6、animation-direction:定义是否循环交替反向播放动画。

attachments-2021-07-DL94yNnf60ecff29bad0a.png

6.1 如果动画被设置为只播放一次,该属性将不起作用。
6.2 动画循环播放时,每次都是从结束状态跳回到起始状态,再开始播放。animation-direction属性可以重写该行为。

7、animation-fill-mode:规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。

attachments-2021-07-hYOHhV0s60ecff43629a6.png

解析:

  1. 默认情况下,CSS 动画在第一个关键帧播放完之前不会影响元素,在最后一个关键帧完成后停止影响元素。animation-fill-mode 属性可重写该行为。
  2. forwads表示让动画停留在结束状态,即停留在最后一帧。
  3. backwords:
    当 animation-direction 为 “normal” 或 “alternate” 时,回到第一帧。
    当 animation-direction 为 “reverse” 或 “alternate-reverse” 时,停留在最后一帧。 

8、animation-play-state:指定动画是否正在运行或已暂停。

attachments-2021-07-LPMkwTWH60ecfff865101.png

8.1 在JavaScript中使用此属性在一个周期中暂停动画。
8.2 线条鼠标悬停开始 动画demo
 

二、动画相关

1、animation的简写(即上述属性的介绍顺序)

具体化可以记成一下形式:

animation:myAnim 1s linear 1s infinite alternate both running;

2、keyframes:定义动画规则,关键帧。

attachments-2021-07-kDKsNGin60ecffddb99ea.png

具体格式:

  1. 指定的变化时发生时使用%,或关键字"from"和"to",这是和0%到100%相同。以下两段代码效果相同。
  1. 如果省略某个状态,浏览器会自动推算中间状态。但是,为了获得最佳的浏览器支持,应该始终定义0%和100%的选择器。
  1. 可以将多个状态写在一行。
  • 3、浏览器前缀

IE 10和Firefox(>= 16)支持没有前缀的animation,firefox(<16)使用-moz-前缀,因为现在firefox的版本也都不低,所以firefox都直接使用没有前缀的animation。
而chrome,safari,opera不支持,所以必须使用webkit前缀。

使用示例如下:

4、定义动画时,必须定义动画的名称和动画的持续时间。如果省略持续时间,动画将无法运行,因为默认值是0。

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

程序员编程交流QQ群:805358732

如果你想用Python开辟副业赚钱,但不熟悉爬虫与反爬虫技术,没有接单途径,也缺乏兼职经验
关注下方微信公众号:Python编程学习圈,获取价值999元全套Python入门到进阶的学习资料以及教程,还有Python技术交流群一起交流学习哦。

attachments-2022-06-JhntGDTg62ad3af46afa7.jpeg

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1470 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章