- 0133技术站
- 联系QQ:18840023
- QQ交流群
- 微信公众号
CSS3 动画
CSS3,我们可以创建动画,它可以取代许多网页动画图像,Flash动画,和JAVAScripts
CSS3 @keyframes 规则
要创建CSS3动画,需要了解@keyframes规则。
@keyframes规则是创建动画,@keyframes规则内指定一个CSS样式和动画将逐步从目前的样式更改为新的样式
浏览器支持:
属性 | 浏览器支持 | ||||
@keyframes |
|
需要前缀 -webkit- |
需要前缀 -webkit- | ||
animation |
|
需要前缀 -webkit- |
需要前缀 -webkit- |
CSS3 动画
当在 @keyframes 创建动画,把它绑定到一个选择器,否则动画不会有任何效果。
指定至少两个CSS3的动画属性绑定向一个选择器
规定动画的名称
规定动画的时长
div { width:100px; height: 100px; position: relative; background-color: pink; animation: demo 5s; -moz-animation: demo 5s; /* Firefox */ -webkit-animation: demo 5s; /* Safari 和 Chrome */ -o-animation: demo 5s; /* Opera */ } @keyframes demo { from {left:0px;} to {left:300px;} } /* Firefox */ @-moz-keyframes demo { from {left:0px;} to {left:300px;} } /* Safari and Chrome */ @-webkit-keyframes demo { from {left:0px;} to {left:300px;} } /* Opera */ @-o-keyframes demo { from {left:0px;} to {left:300px;} }
点击 "运行实例" 按钮查看在线实例
效果图:
注意: 必须定义动画的名称和动画的持续时间。如果省略的持续时间,动画将无法运行,因为默认值是0
什么是CSS3动画:
动画是使元素从一种样式逐渐变化为另一种样式的效果,可以改变任意多的样式任意多的次数。
为了得到更好的浏览器支持,可以使用百分比来规定变化发生的时间
0% 是动画的开始,100% 是动画的完成。
div { width:100px; height: 100px; position: relative; background-color: pink; animation: demo 5s; -moz-animation: demo 5s; /* Firefox */ -webkit-animation: demo 5s; /* Safari 和 Chrome */ -o-animation: demo 5s; /* Opera */ } /* Safari and Chrome */ @-webkit-keyframes demo { 0%{left:0px;top:0;} 50% {left:300px;top:0;} 75%{left:300px;top:100px;} 100%{left:0;top:100px;} }
点击 "运行实例" 按钮查看在线实例
效果图:
动画属性:
属性 | 描述 | CSS版本 |
@keyframes | 规定动画。 | 3 |
animation | 所有动画属性的简写属性,除了 animation-play-state 属性。 | 3 |
animation-name | 规定 @keyframes 动画的名称。 | 3 |
animation-duration | 规定动画完成一个周期所花费的秒或毫秒。默认是 0。 | 3 |
animation-timing-function | 规定动画的速度曲线。默认是 "ease"。 | 3 |
animation-fill-mode | 规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。 | 3 |
animation-delay | 规定动画何时开始。默认是 0。 | 3 |
animation-iteration-count | 规定动画被播放的次数。默认是 1。 | 3 |
animation-direction | 规定动画是否在下一周期逆向地播放。默认是 "normal"。 | 3 |
animation-play-state | 规定动画是否正在运行或暂停。默认是 "running"。 | 3 |
推荐手册