• CSS3 Animation 动画


    CSS3属性中有关于制作动画的三个属性:Transform,Transition,Animation;

    Animation主要是对元素实现了一些基本的动画效果,它只能应用在页面的DOM元素上。

    Animation:对元素某个属性或多个属性的变化,进行控制(时间等),类似flash的补间动画。可以设置多个关键贞。

    w3school在线文档说明

    http://www.w3school.com.cn/css3/css3_animation.asp

    不同浏览器兼容

    div{
    animation:;
    -moz-animation:;	/* Firefox */
    -webkit-animation:;	/* Safari 和 Chrome */
    -o-animation:;	/* Opera */
    }


    Chrome 和 Safari 需要前缀 -webkit-。

    Internet Explorer 10、Firefox 以及 Opera 支持 @keyframes 规则和 animation 属性。

    注释:Internet Explorer 9,以及更早的版本,不支持 @keyframe 规则或 animation 属性。

      

    CSS3 Animation 动画属性

    下面的表格列出了 @keyframes 规则和所有动画属性:

    属性描述CSS
    animation 所有动画属性的简写属性,除了 animation-play-state 属性。 3
    @keyframes 规定动画。 3
    animation-name 规定 @keyframes 动画的名称。 3
    animation-duration 规定动画完成一个周期所花费的秒或毫秒。默认是 0。 3
    animation-timing-function 规定动画的速度曲线。默认是 "ease"。 3
    animation-delay 规定动画何时开始。默认是 0。 3
    animation-iteration-count 规定动画被播放的次数。默认是 1。 3
    animation-direction 规定动画是否在下一周期逆向地播放。默认是 "normal"。 3
    animation-play-state 规定动画是否正在运行或暂停。默认是 "running"。 3
    animation-fill-mode 规定对象动画时间之外的状态。 3

    animation

    animation 属性是一个简写属性,用于设置六个动画属性:

    • animation-name
    • animation-duration
    • animation-timing-function
    • animation-delay
    • animation-iteration-count
    • animation-direction

    注释:请始终规定 animation-duration 属性,否则时长为 0,就不会播放动画了。

    animation: name duration timing-function delay iteration-count direction;

    @keyframes

    通过 @keyframes 规则,您能够创建动画。

    创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式。

    在动画过程中,您能够多次改变这套 CSS 样式。

    以百分比来规定改变发生的时间,或者通过关键词 "from" 和 "to",等价于 0% 和 100%。

    0% 是动画的开始时间,100% 动画的结束时间。

    为了获得最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。

    注释:请使用动画属性来控制动画的外观,同时将动画与选择器绑定。

    @keyframes animationname {keyframes-selector {css-styles;}}
    @keyframes mymove
    {
    0%   {top:0px;}
    25%  {top:200px;}
    50%  {top:100px;}
    75%  {top:200px;}
    100% {top:0px;}
    }
    
    @-moz-keyframes mymove /* Firefox */
    {
    0%   {top:0px;}
    25%  {top:200px;}
    50%  {top:100px;}
    75%  {top:200px;}
    100% {top:0px;}
    }
    
    @-webkit-keyframes mymove /* Safari 和 Chrome */
    {
    0%   {top:0px;}
    25%  {top:200px;}
    50%  {top:100px;}
    75%  {top:200px;}
    100% {top:0px;}
    }
    
    @-o-keyframes mymove /* Opera */
    {
    0%   {top:0px;}
    25%  {top:200px;}
    50%  {top:100px;}
    75%  {top:200px;}
    100% {top:0px;}
    }

    animation-name

    animation-name 属性为 @keyframes 动画规定名称。

    注释:请始终规定 animation-duration 属性,否则时长为 0,就不会播放动画了。

    animation-name: keyframename|none;

    animation-duration

    animation-duration 属性定义动画完成一个周期所需要的时间,以秒或毫秒计。

    animation-duration: time;

    animation-timing-function

    animation-timing-function 规定动画的速度曲线。

    速度曲线定义动画从一套 CSS 样式变为另一套所用的时间。

    速度曲线用于使变化更为平滑。

    animation-timing-function: value;

    animation-timing-function 使用名为三次贝塞尔(Cubic Bezier)函数的数学函数,来生成速度曲线。您能够在该函数中使用自己的值,也可以预定义的值:

    描述测试
    linear 动画从头到尾的速度是相同的。 测试
    ease 默认。动画以低速开始,然后加快,在结束前变慢。 测试
    ease-in 动画以低速开始。 测试
    ease-out 动画以低速结束。 测试
    ease-in-out 动画以低速开始和结束。 测试
    cubic-bezier(n,n,n,n) 在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值。  

    提示:请试着在下面的“亲自试一试”功能中使用不同的值。

    animation-delay

    animation-delay 属性定义动画何时开始。

    animation-delay 值以秒或毫秒计。

    提示:允许负值,-2s 使动画马上开始,但跳过 2 秒进入动画。

    animation-delay: time;

    animation-iteration-count

    animation-iteration-count 属性定义动画的播放次数。

    animation-iteration-count: n|infinite;
    描述测试
    n 定义动画播放次数的数值。 测试
    infinite 规定动画应该无限次播放。 测试

    animation-direction

    animation-direction 属性定义是否应该轮流反向播放动画。

    如果 animation-direction 值是 "alternate",则动画会在奇数次数(1、3、5 等等)正常播放,而在偶数次数(2、4、6 等等)向后播放。

    注释:如果把动画设置为只播放一次,则该属性没有效果。

    animation-direction: normal|alternate;
    描述测试
    normal 默认值。动画应该正常播放。 测试
    alternate 动画应该轮流反向播放。 测试

    animation-play-state

    animation-play-state 属性规定动画正在运行还是暂停。

    注释:您可以在 JavaScript 中使用该属性,这样就能在播放过程中暂停动画。

    animation-play-state: paused|running;
    描述测试
    paused 规定动画已暂停。 测试
    running 规定动画正在播放。 测试

    animation-fill-mode

    animation-fill-mode 属性规定动画在播放之前或之后,其动画效果是否可见。

    注释:其属性值是由逗号分隔的一个或多个填充模式关键词。

    animation-fill-mode : none | forwards | backwards | both;
    描述
    none 不改变默认行为。
    forwards 当动画完成后,保持最后一个属性值(在最后一个关键帧中定义)。
    backwards 在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义)。
    both 向前和向后填充模式都被应用。
  • 相关阅读:
    一套完整的3D结构光系统搭建指南!
    寒武纪refindet caffe模型开始的步骤
    solidworks怎么在圆柱体上添加文字
    CVPR 2022 | 南开程明明团队和天大提出LD:目标检测的定位蒸馏
    实例 | 博途S71200 和V20变频器的MODBUS通讯
    CVPR 2022 | 南开程明明团队和天大提出LD:目标检测的定位蒸馏
    spacevim: 从入门到放弃
    每周分享
    No module named ipython
    maven项目中 jar包下载失败的解决:
  • 原文地址:https://www.cnblogs.com/dtdxrk/p/4315933.html
Copyright © 2020-2023  润新知