CSS3 Animation

关键帧(@keyframes)

关键帧定义动画不同阶段的状态。

当我们在定义不同关键帧,元素属性的个数是一个变化的值。
如果一个关键帧的属性,没有出现在其他关键帧的时候,那么这些属性将会使用上一帧的默认值。
区别在于,缺省之后的渐变效果是不会出现的。

@keyframes dropdown {
    0% { top: 0; }
    30% { top: 300px; }
    50% { top: 150px; }
    70% { top: 300px; }
    80% { top: 0px;  left:-200px;}
    100% { top: 0px;  }
  }

属性

简写形式:

animation:
[animation-name] [animation-duration] // 动画的名称、持续时间
[animation-timing-function][animation-delay] // 关于时间的函数(properties/t)、延迟时间
[animation-iteration-count] [animation-direction] // 播放次数、播放顺序

animation-timing-function
定义了动画的播放速度曲线
可选参数:
ease:默认,低速开始,然后加快,然后再变慢
ease-in:低速开始
ease-out:低速结束
ease-in-out:低速开始和结束
linear:匀速
cubic-bezier(number, number, number, number):自定义

animation-direction
规定动画方向
可选参数:
normal 正序播放
reverse 倒序播放
alternate 交替播放
alternate-reverse 反向交替播放
normal, reverse
alternate, reverse, normal

animation-delay
规定动画延迟多久开始播放
默认值0s,表示动画在该元素上后立即开始执行。
该值以秒(s)或者毫秒(ms)为单位。

animation-iteration-count
动画播放次数
参数:
infinite 无限
number 规定次数

animation-fill-mode
规定动画播放前后的样式
参数:
none 动画执行前后不改变任何样式
forwards 保持目标动画最后一帧的样式
backwards 保持目标动画第一帧的样式
both 动画将会执行 forwards 和 backwards 执行的动作

animation-timing-function
动画是否运行或暂停
参数:
running 动画正常播放
paused 动画暂停播放

其他动画

transition

过渡动画。从初始状态到结束状态过程的过渡。
transition-property:规定对哪个属性进行过渡
transition-duration:定义过渡的时间,默认是0
transition-timing-function:定义过渡动画的缓动效果,如淡入、淡出等,默认是 ease
transition-delay:规定过渡效果的延迟时间,即在过了这个时间后才开始动画,默认是0

animate.css

这是一个CSS3动画库,里面预设了很多常用动画,只需要引入之后,用JS把相应动画类添加到对应元素上。如果要设置参数,就在对应元素的css样式里设置。

CSS3 Animation 是一种在网页中创建动画效果的技术。它利用 CSS3属性关键帧来实现元素的平滑过渡和动态效果。你可以通过定义关键帧和设置各种属性来控制动画的速度、延迟、方向和循环等。 要实现 CSS3 Animation,你需要使用 @keyframes 规则来定义关键帧,然后将该关键帧应用到需要动画的元素上。在 @keyframes 中,你可以定义元素在不同时间点上的状态,然后浏览器会根据这些状态自动进行过渡。 以下是一个简单的示例,展示了如何创建一个简单的 CSS3 动画: ```css /* 定义关键帧 */ @keyframes myAnimation { 0% { left: 0; top: 0; } 50% { left: 200px; top: 200px; } 100% { left: 0; top: 0; } } /* 应用动画到元素 */ div { width: 100px; height: 100px; background-color: red; position: relative; animation-name: myAnimation; animation-duration: 2s; animation-iteration-count: infinite; } ``` 在上面的示例中,我们首先使用 @keyframes 定义了一个名为 "myAnimation" 的关键帧关键帧中定义了元素在动画开始、中间和结束时的状态。 然后,我们将动画应用到一个 div 元素上。通过设置 animation-name 属性为 "myAnimation",animation-duration 属性为 2 秒,animation-iteration-count 属性为 infinite(无限循环),我们可以控制动画的名称、持续时间和循环次数。 通过类似这样的方式,你可以创建更复杂和多样化的动画效果,包括渐变、旋转、缩放等等。希望这能帮到你!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值