今日学习:@keyframes的语法及规则。学习时长:3h。
@keyframes
使用@keyframes规则,可以用来创建动画。创建动画是通过逐步改变的CSS样式实现的。0%是开头动画,100%是当动画完成。
语法:@keyframes animationname {keyframes-selector {css-styles;}}
属性值:
值 | 说明 |
animationname | 必需的。定义animation的名称。 |
keyframes-selector | 必需的。动画持续时间的百分比。 合法值: 0-100% from (和0%相同) to (和100%相同) 注意: 可以用一个动画keyframes-selectors。 |
css-styles | 必需的。一个或多个合法的CSS样式属性 |
animation属性
animation-delay 属性定义动画什么时候开始。
语法:animation-delay: time;
animation-direction 属性定义是否循环交替反向播放动画。
语法:animation-direction: normal|reverse|alternate|alternate-reverse|initial|inherit;
值 | 说明 |
normal | 默认值。动画按正常播放。 |
reverse | 动画反向播放。 |
alternate | 动画在奇数次(1、3、5…)正向播放,在偶数次(2、4、6…)反向播放。 |
alternate-reverse | 动画在奇数次(1、3、5…)反向播放,在偶数次(2、4、6…)正向播放。 |
initial | 设置该属性为它的默认值。 |
inherit | 从父元素继承该属性。 |
animation-duration属性定义动画完成一个周期需要多少秒或毫秒。
语法:animation-duration: time;
animation-fill-mode 属性规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。
语法:animation-fill-mode: none|forwards|backwards|both|initial|inherit;
值 | 说明 |
none | 默认值。动画在动画执行之前和之后不会应用任何样式到目标元素。 |
forwards | 在动画结束后,动画将应用该属性值。 |
backwards | 动画将应用在 animation-delay 定义期间启动动画的第一次迭代的关键帧中定义的属性值。这些都是 from 关键帧中的值(当 animation-direction 为 “normal” 或 “alternate” 时)或 to 关键帧中的值(当 animation-direction 为 “reverse” 或 “alternate-reverse” 时)。 |
both | 动画遵循 forwards 和 backwards 的规则。也就是说,动画会在两个方向上扩展动画属性。 |
initial | 设置该属性为它的默认值。 |
inherit | 从父元素继承该属性。 |
animation-iteration-count属性定义动画播放次数。
语法:animation-iteration-count: value;
animation-name 属性指定动画名称。
语法:animation-name: keyframename|none;
animation–play-state属性设置动画是否正在运行或已暂停。
语法:animation-play-state: paused|running;
值 | 说明 |
paused | 指定暂停动画 |
running | 指定正在运行的动画 |
animation-timing-function指定动画按照何种速度曲线完成一个周期。
语法:animation-timing-function: value;
值 | 说明 |
linear | 动画从头到尾的速度是相同的。 |
ease | 默认。动画以低速开始,然后加快,在结束前变慢。 |
ease-in | 动画以低速开始。 |
ease-out | 动画以低速结束。 |
ease-in-out | 动画以低速开始和结束。 |
cubic-bezier(n,n,n,n) | 在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值 |