13动画样式

13动画样式

1.定义

​ 动画是指由许多帧静止的画面,以一定的速度(如每秒16张)连续播放时,肉眼因视觉残象产生错觉,而误以为画面活动的作品。为了得到活动的画面,每个画面之间都会有细微的改变。(以上定义来自维基百科)
动画

2.动画发生的基本实现条件
  1. 短时间内连续播放多张静态的帧(静态的图形)
  2. 每一帧图像内部物体的状态(形状,大小,角度,位置,颜色等)必须要发生变化
3.关键帧动画创造方式
  1. 用户需要定义第一帧和最后一帧,中间的帧数由计算机辅助生成
  2. 用户定义第一帧到最后一帧的动画时间(根据此时间计算机算出具体需要帮我们生成的帧数)
4.🎈触发式(过渡)动画

元素默认的状态赋予动画的第一帧,触发动作赋予元素动画的最后一帧。

常用触发动作:

1:鼠标悬浮(:hover)
2:选项选中(:checked)
3:输入框点击(:active)

动画参数代码详解
动画时间transition-duration:3s;定义一个动画从第一帧到最后一帧的动画时间,浏览器会根据该时间生成对应数量的中间帧数.一秒60帧。单位可以是ms和s
动画延迟transition-delay:2s;定义动画从触发动作执行的一瞬间,延迟多长时间开始展示动画,默认延迟为0,即动作一执行立马就展示动画
变化速率transition-timing-function:ease;定义动画从第一帧到最后一帧变化过程的速率变化
默认值:ease(慢-快-慢)cubicbezier(0.25,1.0.1,0.25,0.1)慢速开始:ease-in;慢速结束:ease-out;慢速开始和结束:ease-in-out cubic-bezier(0.42,0,0.58,1);匀速:linear;贝赛尔曲线:https://cubic-bezier.com
过渡动画属性transition-property: all;定义元素是以某个属性的变化作为动画的变化效果(如,宽度的变化, 高度的变化等), 第一帧和最后一帧代表的就是该属性的值的变化(比如width的值从第一帧的100px,到最后一帧的500px)none:没有动画效果;all:所有的都参与动画,默认值为all。

复合写法:
过渡动画综合属性:属性名称 过渡时间 过渡动画时间函数 动画延迟时间;

transition: property duration timing-function delay;

 <style>
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            cursor: pointer;
            transition-duration: 2s;
            }
     	div:hover{
            width: 500px;
            height: 500px;
     }
  <style>
  

注:
在不添加动画效果时,hover显示时是一瞬间显示的,加了动画后,有渐变效果。transition也可以写在hover里,但效果不一样。如图中代码所示,鼠标移入移出均有动画效果,写在hover里之后,移入时将有动画效果,移出时将无动画效果。

5.🎈主动式动画

由用户自行创造关键帧,无需任何的动作触发。

与触发式动画的不同:用户可以自行创造多个关键帧,用来更加精细化的控制动画的整个过程。

创造方式:

@keyframes  动画名称 {
状态1 {
	样式名称1:样式值1;
}
状态2 {
	样式名称1 :样式值2 ;
}
..... 
状态x {
	样式名称1 :样式值3 ;
}
}
动画参数代码详解
动画名称animation-name: jump;给动画一个名字
动画时长animation-duration: 1s;
动画次数animation-iteration-count: infinite;规定动画被播放的次数。默认是 1。
infinite:无限循环
时间函数animation-timing-function: cubic-bezier(.47,1.6,.77,-2.33);
动画延迟animation-delay: 2s;
动画是否正反向切换执行animation-direction: normal;normal:默认值,,每一次都是正向播放
alternate:正反向切换执行
reverse:反向执行
alternate-reverse:反正向切换执行
动画停止时状态是什么时刻的状态animation-fill-mode: both;backwards:保留第一帧;forwards:保留最后一帧;both:自适应
动画运行状态animation-play-state: paused;规定动画是否正在运行或暂停。默认是 “running”;paused暂停。可配合状态类伪类选择器操纵元素的动画状态

注:
激活主动式动画必须有名字和时间两个要素。

示例:

<style>
	<style>
        div {
            width: 300px;
            height: 300px;
            background-color: yellow;
            animation-name: jump;
            animation-duration: 1s;
            animation-iteration-count: infinite;
            }
       @keyframes jump {
            0% {
                width: 500px;
                height: 100px;
            }
            50% {
                background-color: lightgreen;
            }
            100% {
                width: 300px;
                height: 200px;
                background-color: lightgreen;
            }
        }
        div:hover {
        	/* 鼠标移入暂停*/
            animation-play-state: paused;
        }
</style>
<body>
    <div></div>
</body>
6.思维导图

动画思维导图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值