CSS3动画
CSS3 动画
通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片、Flash 动画以及 JavaScript。
什么是 CSS3 中的动画?
动画是使元素从一种样式逐渐变化为另一种样式的效果。
您可以改变任意多的样式任意多的次数。
请用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%。
0% 是动画的开始,100% 是动画的完成。
为了得到最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。
CSS3 @keyframes 规则
如需在 CSS3 中创建动画,需要学习 @keyframes 规则。
@keyframes 规则用于创建动画。在 @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果。
当在 @keyframes 中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果。所以我们需要给animation一个自定义的name
通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器:
- 规定动画的名称
- 规定动画的时长
必须定义动画的名称和时长。如果忽略时长,则动画不会允许,因为默认值是 0。
CSS3 动画属性
下面的表格列出了 @keyframes 规则和所有动画属性:
属性 | 描述 | CSS |
---|---|---|
@keyframes | 规定动画。 | 3 |
animation | 所有动画属性的简写属性,除了 animation-play-state 属性。 | 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 |
通过代码实现以下效果:
html代码中只有一个div元素,这里不给出代码
css代码:
div { width: 100px; height: 100px; background-color: #ff273d; position: relative; /*给该动画设定名字*/ animation-name: myy; /*动画时间*/ animation-duration: 1s; /*规定动画在下一周期是否逆向播放,normal是默认正常播放,alternate是下一周期逆向播放*/ animation-direction: alternate; /*动画循环周期,infinite是无限循环*/ animation-iteration-count: infinite; } /*将动画绑定到选择器*/ @keyframes myy { /*设置动画变化效果:颜色变化和位置变化,位置变化通过元素与左边和顶部的距离来变化*/ 0% { background: #24ff39; left: 0px; top: 0px; } 25% { background: #6bffe7; left: 200px; top: 0px; } 50% { background: #ff2ddb; left: 200px; top: 200px; } 75% { background: #2c1bff; left: 0px; top: 200px; } 100% { background: #fdffbd; left: 0px; top: 0px; } }