CSS3 动画

简介: CSS3 动画

前言

hello world欢迎来到前端的新世界


😜当前文章系列专栏:css

🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,感谢大家指出)🌹

💖感谢大家支持!您的观看就是作者创作的动力

CSS3 @keyframes 规则


表格中的数字表示支持该属性的第一个浏览器版本号。


@keyframes规则是创建动画。 @keyframes规则内指定一个CSS样式和动画将逐步从目前的样式更改为新的样式。


浏览器支持


Internet Explorer 10、Firefox 以及 Opera 支持 @keyframes 规则和 animation 属性。


紧跟在 -webkit-, -ms- 或 -moz- 前的数字为支持该前缀属性的第一个浏览器版本号。


@keyframes myfirst
{
from {background: red;}
to {background: yellow;}
}
@-webkit-keyframes myfirst /* Safari and Chrome */
{
from {background: red;}
to {background: yellow;}
}


CSS3 动画


当在@keyframe创建动画,把它绑定到一个选择器,否则动画不会有任何效果。


指定至少这两个CSS3的动画属性绑定向一个选择器:


规定动画的名称


规定动画的时长


把 “myfirst” 动画捆绑到 div 元素,时长:5 秒:


div
{
animation: myfirst 5s;
-webkit-animation: myfirst 5s; /* Safari and Chrome */
}  

注意: 您必须定义动画的名称和动画的持续时间。如果省略的持续时间,动画将无法运行,因为默认值是0。


CSS3动画是什么?


动画是使元素从一种样式逐渐变化为另一种样式的效果。


您可以改变任意多的样式任意多的次数。


请用百分比来规定变化发生的时间,或用关键词 “from” 和 “to”,等同于 0% 和 100%。


0% 是动画的开始,100% 是动画的完成。


为了得到最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。


@keyframes myfirst
{
0%   {background: red;}
25%  {background: yellow;}
50%  {background: blue;}
100% {background: green;}
}
   @-webkit-keyframes myfirst /* Safari and Chrome */
{
0%   {background: red;}
25%  {background: yellow;}
50%  {background: blue;}
100% {background: green;}
}


改变背景色和位置:


@keyframes myfirst
{
0%   {background: red; left:0px; top:0px;}
25%  {background: yellow; left:200px; top:0px;}
50%  {background: blue; left:200px; top:200px;}
75%  {background: green; left:0px; top:200px;}
100% {background: red; left:0px; top:0px;}
}
   @-webkit-keyframes myfirst /* Safari and Chrome */
{
0%   {background: red; left:0px; top:0px;}
25%  {background: yellow; left:200px; top:0px;}
50%  {background: blue; left:200px; top:200px;}
75%  {background: green; left:0px; top:200px;}
100% {background: red; left:0px; top:0px;}
}


CSS3的动画属性


下面的表格列出了 @keyframes 规则和所有动画属性:



下面两个例子设置所有动画属性:


运行myfirst动画,设置所有的属性:


div
{
animation-name: myfirst;
animation-duration: 5s;
animation-timing-function: linear;
animation-delay: 2s;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-play-state: running;
/* Safari and Chrome: */
-webkit-animation-name: myfirst;
-webkit-animation-duration: 5s;
-webkit-animation-timing-function: linear;
-webkit-animation-delay: 2s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-direction: alternate;
-webkit-animation-play-state: running;
}

与上面的动画相同,但是使用了简写的动画 animation 属性:

div
{
animation: myfirst 5s linear 2s infinite alternate;
/* Safari and Chrome: */
-webkit-animation: myfirst 5s linear 2s infinite alternate;
}

后言

创作不易,要是本文章对广大读者有那么一点点帮助 不妨三连支持一下,您的鼓励就是博主创作的动力


目录
相关文章
|
12天前
|
前端开发
css 实现一笔画动画(如签名、手写、手绘等)
css 实现一笔画动画(如签名、手写、手绘等)
16 8
|
12天前
|
前端开发
css动画(仿微信聊天页面)
css动画(仿微信聊天页面)
|
13天前
|
前端开发 JavaScript
纯css动画 —— 展开、收起
纯css动画 —— 展开、收起
15 2
|
13天前
|
前端开发
css特效动画——页面加载中 ...
css特效动画——页面加载中 ...
8 1
|
14天前
|
前端开发 JavaScript 开发者
学习CSS动画的高级技巧
【7月更文挑战第1天】学习CSS动画的高级技巧
12 2
|
14天前
|
前端开发 开发者
通过实践来提升CSS动画技能是非常重要的
【7月更文挑战第1天】通过实践来提升CSS动画技能是非常重要的
13 1
|
14天前
|
前端开发 JavaScript 开发者
如何学习CSS动画?
【7月更文挑战第1天】如何学习CSS动画?
14 1
|
9天前
|
前端开发 JavaScript
CSS【实战】抽屉动画
CSS【实战】抽屉动画
7 0
|
12天前
|
前端开发
css特效动画——转圈的加载动画
css特效动画——转圈的加载动画
9 0
|
12天前
|
前端开发 JavaScript UED
只会用插件可不行,这些前端动画技术同样值得收藏-CSS篇
只会用插件可不行,这些前端动画技术同样值得收藏-CSS篇
16 0