forked from doyoe/css-handbook
-
Notifications
You must be signed in to change notification settings - Fork 0
/
@keyframes.htm
243 lines (243 loc) · 9.07 KB
/
@keyframes.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />
<title>@keyframes</title>
<meta name="Description" content="CSS3参考手册之: @keyframes" />
<meta name="Keywords" content="@keyframes, 动画" />
<meta name="author" content="Joy Du(飘零雾雨), dooyoe@gmail.com, www.doyoe.com" />
<meta name="robots" content="all" />
<!--[if lte IE 8]>
<script src="../js/html5.js"></script>
<![endif]-->
<link rel="stylesheet" href="../skin/article.css" />
</head>
<body>
<nav id="guide" class="g-mod">
<div class="from">
<a href="http://css.doyoe.com/" target="_blank">CSS3参考手册</a>
<span>»</span>
<a href="../index.htm" id="category" rel="rules" name="@keyframes">语法与规则列表</a>
<span>»</span>
</div>
<div class="to">
<span class="label">相关内容:</span>
<div class="g-combobox g-transition">
<a href="?" class="g-transition target">
<strong>其它语法与规则参考</strong>
<span>选择其它项<!--[if lte IE 7]><ins>IE7 and earlier, Get to die</ins><![endif]--></span>
</a>
<div class="g-transition list">
<ul>
<!-- 插入快速分类导航 -->
</ul>
</div>
</div>
</div>
</nav>
<header id="hd">
<section id="title" class="g-mod">
<h1 class="tit">@keyframes</h1>
<ul class="info">
<li><strong>版本:CSS3</strong></li>
<li>2015.9.6</li>
</ul>
<!-- 插入浏览器信息 -->
</section>
</header>
<section id="bd">
<section id="syntax" class="g-mod g-attr">
<h2 class="tit">语法:</h2>
<div class="cont">
<p><strong>@keyframes</strong> <a href="../../values/textual/identifier.htm"><identifier></a> { <a href="#dfn-syntax"><keyframes-blocks></a> }</p>
<p id="dfn-syntax"><strong><keyframes-blocks></strong>:[ [ from | to | <a href="../values/numeric/percentage.htm"><percentage></a> ]{ sRules } ] [ [ , from | to | <a href="../values/numeric/percentage.htm"><percentage></a> ]{ sRules } ]*</p>
</div>
</section>
<section id="value" class="g-mod g-attr">
<h2 class="tit">取值:</h2>
<div class="cont">
<dl>
<dt><a href="../../values/textual/identifier.htm"><identifier></a>:</dt>
<dd>identifier定义一个动画名称</dd>
<dt><keyframes-blocks>:</dt>
<dd>定义动画在每个阶段的样式,即帧动画。</dd>
</dl>
</div>
</section>
<section id="intro" class="g-mod g-attr">
<h2 class="tit">说明:</h2>
<div class="cont">
<strong>指定动画名称和动画效果。</strong>
<ul>
<li><a href="@keyframes.htm">@keyframes</a>定义的动画名称用来被<a href="../properties/animation/animation-name.htm">animation-name</a>所使用。</li>
<li>
<strong>定义动画时,简单的动画可以直接使用关键字from和to,即从一种状态过渡到另一种状态:</strong>
<div class="gquote">
<p class="gquote-tit"><strong>示例代码:</strong></p>
<blockquote class="gquote-cont"><code><xmp>@keyframes testanimations {
from { opacity: 1; }
to { opacity: 0; }
}</xmp></code></blockquote>
<p class="gquote-info">其中testanimations是该动画的名字,该动画表示某个东西将逐渐消失。</p>
</div>
</li>
<li>
<strong>如果复杂的动画,可以混合<a href="../values/numeric/percentage.htm"><percentage></a>去设置某个时间段内的任意时间点的样式:</strong>
<div class="gquote">
<p class="gquote-tit"><strong>示例代码:</strong></p>
<blockquote class="gquote-cont"><code><xmp>@keyframes testanimations {
from { transform: translate(0, 0); }
20% { transform: translate(20px, 20px); }
40% { transform: translate(40px, 0); }
60% { transform: translate(60px, 20); }
80% { transform: translate(80px, 0); }
to { transform: translate(100px, 20px); }
}</xmp></code></blockquote>
</div>
</li>
<li>
<strong>当然,也可以不使用关键字from和to,而都使用<a href="../values/numeric/percentage.htm"><percentage></a>:</strong>
<div class="gquote">
<p class="gquote-tit"><strong>示例代码:</strong></p>
<blockquote class="gquote-cont"><code><xmp>@keyframes testanimations{
0% { transform: translate(0, 0); }
20% { transform: translate(20px, 20px); }
40% { transform: translate(40px, 0); }
60% { transform: translate(60px, 20px); }
80% { transform: translate(80px, 0); }
100% { transform: translate(100px, 20px); }
}</xmp></code></blockquote>
<p class="gquote-info">注意,这里的0%不能简写成0,0是非标准语法(虽然被某些浏览器所支持)。</p>
</div>
</li>
</ul>
</div>
</section>
<section id="compatible" class="g-mod g-attr">
<h2 class="tit">兼容性:</h2>
<div class="cont">
<ul class="support-type">
<li><span class="support">浅绿</span> = 支持</li>
<li><span class="unsupport">红色</span> = 不支持</li>
<li><span class="partsupport">粉色</span> = 部分支持</li>
</ul>
<table class="g-data">
<thead>
<tr>
<th>IE</th>
<th>Firefox</th>
<th>Chrome</th>
<th>Safari</th>
<th>Opera</th>
<th>iOS Safari</th>
<th>Android Browser</th>
<th>Android Chrome</th>
</tr>
</thead>
<tbody>
<tr>
<td class="unsupport">6.0-9.0</td>
<td class="unsupport">2.0-4.0</td>
<td class="support" rowspan="3">4.0-43.0<br /><sup class="fix">-webkit-</sup></td>
<td class="unsupport">3.1-3.2</td>
<td class="support" rowspan="3">15.0-29.0<br /><sup class="fix">-webkit-</sup></td>
<td class="support" rowspan="3">3.2-8.1<br /><sup class="fix">-webkit-</sup></td>
<td class="partsupport">2.1-3.0<br /><sup class="fix">-webkit-</sup></td>
<td class="support" rowspan="3">18.0-40.0<br /><sup class="fix">-webkit-</sup></td>
</tr>
<tr>
<td class="support" rowspan="2">10.0+</td>
<td class="support">5.0-15.0<br /><sup class="fix">-moz-</sup></td>
<td class="support" rowspan="2">4.0-8.1<br /><sup class="fix">-webkit-</sup></td>
<td class="support" rowspan="2">4.0+<br /><sup class="fix">-webkit-</sup></td>
</tr>
<tr>
<td class="support">16.0</td>
</tr>
</tbody>
</table>
</div>
</section>
<section id="example" class="g-mod g-attr">
<h2 class="tit">示例:</h2>
<div class="cont">
<textarea cols="90" rows="10">
<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />
<title>@keyframes_CSS参考手册_web前端开发参考手册系列</title>
<meta name="author" content="Joy Du(飘零雾雨), dooyoe@gmail.com, www.doyoe.com" />
<style>
#sport{position:relative;width:500px;height:400px;border:1px solid #ddd;}
#staff{position:absolute;z-index:3;bottom:10px;left:10px;overflow:hidden;width:180px;height:8px;border-radius:3px;background:#ddd;line-height:20;
-webkit-animation:staff 3s linear;
animation:staff 3s linear;
}
#ball{position:absolute;z-index:3;bottom:20px;left:90px;overflow:hidden;width:30px;height:30px;border-radius:15px;box-shadow:0 0 10px rgba(204,102,0,.8);background:#F6D66E;background:linear-gradient(top,#fff,#F6D66E);line-height:20;
-webkit-animation:ball 3s linear;
animation:ball 3s linear;
}
@-webkit-keyframes ball{
0%{-webkit-transform:translate(0,0);}
5%{-webkit-transform:translate(-90px,-100px);}
18%{-webkit-transform:translate(0,-350px);}
35%{-webkit-transform:translate(200px,0);}
46%{-webkit-transform:translate(380px,-160px);}
60%{-webkit-transform:translate(250px,-350px);}
78%{-webkit-transform:translate(60px,0);}
100%{-webkit-transform:translate(0,0);}
}
@keyframes ball{
0%{transform:translate(0,0);}
5%{transform:translate(-90px,-100px);}
18%{transform:translate(0,-350px);}
35%{transform:translate(200px,0);}
46%{transform:translate(380px,-160px);}
60%{transform:translate(250px,-350px);}
78%{transform:translate(60px,0);}
100%{transform:translate(0,0);}
}
@-webkit-keyframes staff{
0%{-webkit-transform:translate(0,0);}
6%{-webkit-transform:translate(260px,0);}
20%{-webkit-transform:translate(300px,0);}
30%{-webkit-transform:translate(300px,0);}
40%{-webkit-transform:translate(200px,0);}
65%{-webkit-transform:translate(40px,0);}
79%{-webkit-transform:translate(0,0);}
100%{-webkit-transform:translate(0,0);}
}
@keyframes staff{
0%{transform:translate(0,0);}
6%{transform:translate(260px,0);}
20%{transform:translate(300px,0);}
30%{transform:translate(300px,0);}
40%{transform:translate(200px,0);}
65%{transform:translate(40px,0);}
79%{transform:translate(0,0);}
100%{transform:translate(0,0);}
}
</style>
</head>
<body>
<div id="sport">
<span id="ball">弹球</span>
<span id="staff">滑杆</span>
</div>
</body>
</html>
</textarea>
<p><input type="button" value="运行" class="g-btn g-btn-sure" /></p>
</div>
</section>
</section>
<footer id="ft">
<aside id="rights" class="g-mod">
<!-- 插入浏览器及版权信息 -->
</aside>
</footer>
<script src="../js/jquery.js"></script>
<script src="../js/inner.js"></script>
</body>
</html>