浏览器渲染和CSS动画

2020-04-01  本文已影响0人  我愚蠢的理想主义啊

浏览器渲染过程

CSS 进阶之动画

我们都知道动画电影由一帧一帧的静态画面拼接而成,一秒动画有24帧画面,如果低于24帧,人眼即可感知画面切换,就会有卡顿的感觉。

CSS 中,如果按一秒24帧的画法来写代码,未免太过繁琐。所以我们把动画拆解为动作(transition),一个动作表示从一个状态到另一个状态的变化,然后把一组动作串起来,即是 CSS 中的动画(animation)

CSS 动画的两种做法(transition 和 animation)

1.transition

transition: left 200ms linear

可以用逗号分隔不同的属性

transition:left 200ms,top 300ms

可以用all来代表所有的属性,但并不是所有的属性都能过渡
display:none = >block无法过渡
一般改成visibility:hidden=>visible
过渡方式有:

linear|ease|ease-in|ease-out|ease-in-out等等

2.animation

如何让动画停在最后一帧

@keyframes 写法

1.搜索MDN keyframes
2.一种是from to

@keyframes xxx{
  from{
    transform:translate(0%)     
        }
  to{
    transform:translate(100%)
       }
}

3.一种是按百分比来写

@keyframes xxx{
0%{top:0; left:0}
30%{top:50px;}
68%,72%{left:50px;}
100%{top:100px; left:100%}
}

缩写语法

animation:时长|过渡方式|延迟|方向|填充模式|是否暂停|动画名

1.时长:1s或者1000ms
2.过渡方式:跟transition取值一样,如linear
3.次数:3或者infinite
4.方向:reverse|alternate|alternate-reverse
5.填充方式:none|forwards|both|backwards
6.是否暂停:pause|running

以上属性都有对应的单独属性

transform四个常用功能

上一篇 下一篇

猜你喜欢

热点阅读