@keyframe 规定动画
一般是跟animation一起用
animation : 规定动画的名字 规定动画的时间 规定动画的速度曲线。
@keyframe 定义动画的名称{ 动画时长的百分比。{一个或多个合法的 CSS 样式属性} }
目前大部分浏览器都没有支持@keyframe 和animation;所以要分浏览器书写
@keyframe
1.safari和chrome浏览器
@-webkit-keyframes myfrom{
from {top:0;}
to {top:200px;}
}
2.Firefox浏览器
@-moz-keyframes myfrom{
from {top:0;}
to {top:200px;}
}
3.Opera浏览器
@-o-keyframes myfrom{
from {top:0;}
to {top:200px;}
}
animation
1.safari和chrome浏览器
@-webkit-animation : myfrom 5s infinite
2.Firefox浏览器
@-moz-animation : myfrom 5s infinite
2.Opera浏览器
@-o-animation : myfrom 5s infinite
例子
代码如下
<!DOCTYPE html>
<html>
<head>
<title>CSS3动态效果demo</title>
<meta charset="utf-8">
<meta name="keyword" content="CSS3动态效果demo">
<meta name="description" content="CSS3动态效果demo">
<meta name="author" content="戎sir">
<link rel="stylesheet" type="text/css" href="css.css">
</head>
<body>
<div class="main">
<div class="cont">
<div class="cont1 conns">
animation
动画属性
@keyframes:
规定动画
</div>
<span data="1">源代码</span>
</div>
<div class="cont">
<div class="cont2 conns">
animation-delay:
规定动画何时开始
</div>
<span data="2">源代码</span>
</div>
<div class="cont">
<div class="cont3 conns">
animation-iteration-count:
规定动画次数
</div>
<span data="3">源代码</span>
</div>
<div class="cont">
<div class="cont4 conns">
animation-direction:
规定下次动画逆向
</div>
<span data="4">源代码</span>
</div>
<div class="cont">
<div class="cont5 conns">
</div>
<span data="5">源代码</span>
</div>
<div class="cont">
<div class="cont6 conns">
</div>
<span data="6">源代码</span>
</div>
<div class="cont">
<div class="cont7 conns">
</div>
<span data="7">源代码</span>
</div>
<div class="cont">
<div class="cont8 conns">
</div>
<span data="8">源代码</span>
</div>
</div>
<div class="overbody hidden"></div>
<div class="commom" id="show1">
<textarea readonly="readonly" class="tip" style="border-bottom:1px solid #000;"><div class="cont1 conns">animation-delay:规定动画何时开始 </div></textarea>
<textarea readonly="readonly" class="tipcss">
body{background-color: #000;}
.cont{
border: 1px solid #fff;
float: left;
width: 250px;
height: 250px;
position: relative;
box-sizing:border-box;
}
.conns{white-space: initial;}
.cont a{
position: absolute;
top:50px;
left: 5px;
color: #e3e3e3;
word-wrap: break-word;
display: block;
width: 5px;
text-decoration: none;
}
.cont1{
width: 100px;
height:80px;
margin:0 auto;
background-color: #999;
color: #fff;
padding: 10px;
position:relative;
overflow: hidden;
animation:myfrom 5s infinite;
-webkit-animation:myfrom 5s infinite;
}
@-webkit-keyframes myfrom{
from {top:0;}
to {top:150px;}
}
@keyframes myfrom{
from {top:0;}
to {top:150px;}
}</textarea>
</div>
<div class="commom" id="show2">
<textarea readonly="readonly" class="tip" style="border-bottom:1px solid #000;"><div class="cont2 conns">animation 动画属性,@keyframes:规定动画 </div></textarea>
<textarea readonly="readonly" class="tipcss">
.cont2{
width: 80px;
height:80px;
margin:0 auto;
background-color: #999;
color: #fff;
padding: 10px;
position:relative;
overflow: hidden;
animation:myfrom 5s infinite;
-webkit-animation:myfrom 5s infinite;
animation-delay:2s;
-webkit-animation-delay:2s;
}
其余css同第一个
</textarea>
</div>
<div class="commom" id="show3">
<textarea readonly="readonly" class="tip" style="border-bottom:1px solid #000;"><div class="cont3 conns">animation-iteration-count: 规定动画次数</div></textarea>
<textarea readonly="readonly" class="tipcss">
.cont3{
width: 80px;
height:80px;
margin:0 auto;
background-color: #999;
color: #fff;
padding: 10px;
position:relative;
overflow: hidden;
animation:myfrom 5s infinite;
-webkit-animation:myfrom 5s infinite;
animation-iteration-count:2;
-webkit-animation-iteration-count:2;
}
其余css同第一个
</textarea>
</div>
<div class="commom" id="show4">
<textarea readonly="readonly" class="tip" style="border-bottom:1px solid #000;"><div class="cont4 conns">animation-direction: 规定下次动画逆向</div></textarea>
<textarea readonly="readonly" class="tipcss">
.cont4{
width: 80px;
height:80px;
margin:0 auto;
background-color: #999;
color: #fff;
padding: 10px;
position:relative;
overflow: hidden;
animation:myfrom 5s infinite;
-webkit-animation:myfrom 5s infinite;
animation-direction:alternate;
-webkit-animation-direction:alternate;}
其余css同第一个
</textarea>
</div>
<div class="commom" id="show5">
<textarea readonly="readonly" class="tip" style="border-bottom:1px solid #000;"><div class="cont5 conns"> </div></textarea>
<textarea readonly="readonly" class="tipcss">
.cont5{
margin: 6em auto;
font-size: 10px;
position: relative;
border: 1.1em solid rgba(255, 255, 255, 0.2);
border-left: 1.1em solid #ffffff;
-webkit-animation: cont5 1.1s infinite linear;
animation: cont5 1.1s infinite linear;
}
.cont5,.cont5:after{
border-radius: 50%;
width: 10em;
height: 10em;
}
@keyframes cont5{
from {-webkit-transform: rotate(0deg);transform: rotate(0deg);}
to {-webkit-transform: rotate(360deg);transform: rotate(360deg);}
}
@-webkit-keyframes cont5{
from {-webkit-transform: rotate(0deg);transform: rotate(0deg);}
to {-webkit-transform: rotate(360deg);transform: rotate(360deg);}
}</textarea>
</div>
<div class="commom" id="show6">
<textarea readonly="readonly" class="tip" style="border-bottom:1px solid #000;"><div class="cont6 conns"> </div></textarea>
<textarea readonly="readonly" class="tipcss">
body{background-color: #000;}
.cont6{
height: 120px;
width: 120px;
margin: 50px auto;
border-radius: 50%;
background:linear-gradient(left,#fff,#000);
background:-webkit-linear-gradient(left,#fff 10%,rgba(255,255,255,0) 40%);
background:-moz-linear-gradient(left,#fff 10%,rgba(255,255,255,0) 40%);
background:-o-linear-gradient(left,#fff 10%,rgba(255,255,255,0) 40%);
background:-ms-linear-gradient(left,#fff 10%,rgba(255,255,255,0) 40%);
position: relative;
-webkit-animation: cont6 1.1s infinite linear;
animation: cont6 1.1s infinite linear;
}
.cont6:before{
height: 50%;
width: 50%;
background:#fff;
content: '';
display: block;
border-radius:100% 0 0 0;
position: absolute;
top:0;
left: 0;
}
.cont6:after{
height: 75%;
width: 75%;
margin: auto;
background:#000;
content:'';
display: block;
border-radius:50%;
position: absolute;
top:0;left: 0;
right: 0;
bottom: 0;
}
@keyframes cont6{
from {-webkit-transform: rotate(0deg);transform: rotate(0deg);}
to {-webkit-transform: rotate(360deg);transform: rotate(360deg);}
}
@-webkit-keyframes cont6{
from {-webkit-transform: rotate(0deg);transform: rotate(0deg);}
to {-webkit-transform: rotate(360deg);transform: rotate(360deg);}
}</textarea>
</div>
<div class="commom" id="show7">
<textarea readonly="readonly" class="tip" style="border-bottom:1px solid #000;"><div class="cont7 conns"> </div></textarea>
<textarea readonly="readonly" class="tipcss">
body{background-color: #000;}
.cont7,.cont7:before,.cont7:after{
height: 25px;
width: 25px;
border-radius: 50%;
animation:cont7 1.8s infinite ease-in-out;
-webkit-animation:cont7 1.8s infinite ease-in-out;
}
.cont7{
position: relative;
top:0;
margin: 80px auto;
animation-delay:0.2s;
-webkit-animation-delay:0.2s;
}
.cont7:before{
content: '';
position: absolute;
left: -50px;
}
.cont7:after{
content: '';
position: absolute;
left: 50px;
animation-delay:0.4s;
-webkit-animation-delay:0.4s;
}
@keyframes cont7{
0%,
80%,
100% {box-shadow: 0 2.5em 0 -1.3em #ffffff; }
40% {box-shadow: 0 2.5em 0 0 #FFF;}
}
@-webkit-keyframes cont7{
0%,
80%,
100% {box-shadow: 0 2.5em 0 -1.3em #ffffff;}
40% {box-shadow: 0 2.5em 0 0 #FFF;}
}</textarea>
</div>
<div class="commom" id="show8">
<textarea readonly="readonly" class="tip" style="border-bottom:1px solid #000;"><div class="cont8 conns"> </div></textarea>
<textarea readonly="readonly" class="tipcss">
body{background-color: #000;}
.cont8{
width: 96px;
height: 48px;
border-radius: 50%;
border-bottom:50px solid #fff;
border-top:2px solid #fff;
border-left:2px solid #fff;
border-right:2px solid #fff;
position: relative;
top:0;
margin: 80px auto;
}
.cont8:before{
content: '';
position: absolute;
width: 12px;
height: 12px;
border-radius: 50%;
border: 18px solid #000;
top:21px;
background-color: #fff;
left: 0;
}
.cont8:after{
content: '';
position: absolute;
width: 12px;
height: 12px;
border-radius: 50%;
border: 18px solid #fff;
top:21px;
background-color: #000;
right: 0;
}</textarea>
</div>
<script type="text/javascript" src="jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="show.js"></script>
</body>
</html>
文章来源:
更多信息请查看IT技术专栏