纯css3制作写轮眼开眼及进化过程

原文:纯css3制作写轮眼开眼及进化过程

今天是火影忍者(漫画)宣告完结的日子,也是我首发的第一个随笔。看过火影的朋友都知道,写轮眼是什么,这里就不多说了。下面就直接展示整个效果,上张图,先睹为快:

目前已经测试 IE10、Firefox浏览器、Chrome浏览器、Opera浏览器、360浏览器(两种模式)兼容已通过。

温馨提示:以上浏览器版本号均最新的;动画过程中每个阶段大约会停留5秒钟,希望你不会中幻术^_^。

在线演示    源码下载



HTML代码:

 1 <div class="container">
 2     <!--左眼开始-->
 3     <div class="eyesBoxs pullLeft">
 4         <div class="profile skewLeft"></div>
 5         <div class="shadow skewLeft"></div>
 6         <div class="basic ani-narrow"></div>
 7         <div class="eyes ani-zoom">
 8             <div class="line">
 9                 <div class="hook ani-rotateHook">
10                     <span class="bar"><b></b></span>
11                     <span class="bar"><b></b></span>
12                     <span class="bar"><b></b></span>
13                 </div>
14                 <div class="tube ani-rotateTube">
15                     <span class="bar"></span>
16                     <span class="bar"></span>
17                     <span class="bar"></span>
18                 </div>
19             </div>
20         </div>
21         <div class="trans skewLeft">
22             <span class="bar ani-shadow"></span>
23         </div>
24     </div>
25     <!--左眼结束-->
27     <!--右眼开始-->
28     <div class="eyesBoxs pullRight">
29         <div class="profile skewRight"></div>
30         <div class="shadow skewRight"></div>
31         <div class="basic ani-narrow"></div>
32         <div class="eyes ani-zoom">
33             <div class="line">
34                 <div class="hook ani-rotateHook">
35                     <span class="bar"><b></b></span>
36                     <span class="bar"><b></b></span>
37                     <span class="bar"><b></b></span>
38                 </div>
39                 <div class="tube ani-rotateTube">
40                     <span class="bar"></span>
41                     <span class="bar"></span>
42                     <span class="bar"></span>
43                 </div>
44             </div>
45         </div>
46         <div class="trans skewRight">
47             <span class="bar ani-shadow"></span>
48         </div>
49     </div>
50     <!--右眼结束-->
51 </div>

CSS代码:

  1 *{margin:0;padding:0;}
  2 .container{ width:800px; height:200px; margin:30px auto;overflow:hidden; background:#000; position:relative;}
  3 .eyesBoxs{width:130px;height:70px;position:absolute;top:50px;}
  4 .pullLeft{left:100px;}
  5 .pullRight{right:100px;}
  6 .profile{
  7     width:130px;
  8     height:70px;
  9     background:#fff;
 10     position:absolute;
 11     top:0;
 12     left:0;
 13     overflow:hidden;
 14     border-radius:0 70px 0 50px;
 15 }
 16 .shadow{
 17     display:block;
 18     width:130px;
 19     height:70px;
 20     position:absolute;
 21     top:0;
 22     z-index:5;
 23     border-radius:0 90px 0 60px;
 24     box-shadow:5px 12px 2px 5px rgba(0,0,0,.25) inset;
 25 }
 26 .skewLeft{
 27     transform:skewX(15deg);
 28     -webkit-transform:skewX(15deg);
 29     -o-transform:skewX(15deg);
 30 }
 31 .skewRight{
 32     transform:skewX(-15deg) scale(-1,1);
 33     -webkit-transform:skewX(-15deg) scale(-1,1);
 34     -o-transform:skewX(-15deg) scale(-1,1);
 35 }
 36 .basic{
 37     width:60px;
 38     height:60px;
 39     background:#000;
 40     position:absolute;
 41     top:50%;
 42     left:50%;
 43     z-index:10;
 44     margin-top:-30px;
 45     border-radius:60%;
 46 }
 47 .basic:before{
 48     content:"";
 49     display:block;
 50     width:10px;
 51     height:11px;
 52     position:absolute;
 53     left:15px;
 54     top:15px;
 55     z-index:100;
 56     border-radius:60%;
 57     background-image:radial-gradient(circle,rgb(225,225,225),rgb(225,225,225),rgba(225,225,225,0.9),rgba(225,225,225,0.3));
 58     -webkit-background-image:radial-gradient(circle,rgb(225,225,225),rgb(225,225,225),rgba(225,225,225,0.9),rgba(225,225,225,0.3));
 59     -o-background-image:radial-gradient(circle,rgb(225,225,225),rgb(225,225,225),rgba(225,225,225,0.9),rgba(225,225,225,0.3));
 60 }
 61 .pullLeft .basic{
 62     margin-left:-33px;
 63 }
 64 .pullRight .basic{
 65     margin-left:-27px;
 66 }
 67 .eyes{
 68     width:55px;
 69     height:55px;
 70     background:#ff0000;
 71     position:absolute;
 72     top:8px;
 73     border-radius:60%;
 74     box-shadow:0 0 2px 4px #bd0000 inset,0 0 0 2px #000;
 75 }
 76 .pullLeft .eyes{left:35px;}
 77 .pullRight .eyes{right:35px;}
 78 .eyes .line{
 79     width:64%;
 80     height:64%;
 81     background:#ff0000;
 82     position:absolute;
 83     right:0;
 84     left:0;
 85     top:10px;
 86     margin:0 auto;
 87     border-radius:60%;
 88     box-shadow:0 0 2px 0 #b20000 inset;
 89 }
 90 .eyes .line:before{
 91     content:"";
 92     display:block;
 93     width:10px;
 94     height:11px;
 95     position:absolute;
 96     left:3px;
 97     top:4px;
 98     z-index:100;
 99     border-radius:60%;
100     background-image:radial-gradient(circle,rgb(225,225,225),rgb(225,225,225),rgba(225,225,225,0.7),rgba(225,225,225,0.3));
101     -webkit-background-image:radial-gradient(circle,rgb(225,225,225),rgb(225,225,225),rgba(225,225,225,0.7),rgba(225,225,225,0.3));
102     -o-background-image:radial-gradient(circle,rgb(225,225,225),rgb(225,225,225),rgba(225,225,225,0.7),rgba(225,225,225,0.3));
103 }
104 .eyes .line:after{
105     content:"";
106     display:block;
107     width:10px;
108     height:10px;
109     position:absolute;
110     background:#000;
111     right:0;
112     left:-1px;
113     top:13px;
114     z-index:100;
115     margin:0 auto;
116     border-radius:60%;
117     transform:rotate(150deg);
118     -webkit-transform:rotate(150deg);
119     -o-transform:rotate(150deg);
120     animation:colour 0.5s ease-in 7s;
121     -webkit-animation:colour 0.5s ease-in 7s;
122     -o-animation:colour 0.5s ease-in 7s;
123 }
124 @keyframes colour{
125     0%{
126         background:#000;
127     }
128     100%{
129         background:#f00;
130     }
131 }
132 @-webkit-keyframes colour{
133     0%{
134         background:#000;
135     }
136     100%{
137         background:#f00;
138     }
139 }
140 @-o-keyframes colour{
141     0%{
142         background:#000;
143     }
144     100%{
145         background:#f00;
146     }
147 }
148 .hook{
149     width:92%;
150     height:92%;
151     position:absolute;
152     right:0;
153     left:0;
154     top:5%;
155     margin:0 auto;
156     border-radius:60%;
157 }
158 .hook .bar{
159     display:block;
160     width:100%;
161     height:100%;
162     position:absolute;
163     left:0;
164     top:0;
165     border-radius:60%;
166 }
167 .hook .bar b{
168     display:block;
169     width:8px;
170     height:8px;
171     background:#000;
172     position:absolute;
173     left:0;
174     bottom:0;
175     border-radius:60%;
176 }
177 .hook .bar b:after{
178     content:"";
179     width:8px;
180     height:8px;
181     border-color:transparent transparent #000 transparent;
182     border-style:solid;
183     border-width:0 0 5px 0;
184     position:absolute;
185     top:-1px;
186     left:-3px;
187     z-index:100;
188     border-radius:0 0 0 70%;
189     transform:rotate(-75deg);
190     -webkit-transform:rotate(-75deg);
191     -o-transform:rotate(-75deg);
192 }
193 .hook .bar:nth-child(1){
194     transform:rotate(10deg);
195     -webkit-transform:rotate(10deg);
196     -o-transform:rotate(10deg);
197 }
198 .hook .bar:nth-child(2){
199     transform:rotate(130deg);
200     -webkit-transform:rotate(130deg);
201     -o-transform:rotate(130deg);
202 }
203 .hook .bar:nth-child(3){
204     transform:rotate(250deg);
205     -webkit-transform:rotate(250deg);
206     -o-transform:rotate(250deg);
207 }
208 .tube{
209     width:93%;
210     height:93%;
211     position:absolute;
212     right:0;
213     left:0px;
214     top:2px;
215     margin:0 auto;
216     background:#000;
217     border-radius:60%;
218 }
219 .tube .bar{
220     display:block;
221     width:10px;
222     height:20px;
223     border-style:solid;
224     border-width:0 0 0 10px;
225     border-color:transparent transparent transparent black;
226     position:absolute;
227     border-radius:100% 0 0 0;
228 }
229 .tube .bar:nth-child(1){
230     top:-10px;
231     left:2px;
232     transform:rotate(-10deg);
233 }
234 .tube .bar:nth-child(2){
235     bottom:0px;
236     right:-10px;
237     transform:rotate(105deg);
238     -webkit-transform:rotate(105deg);
239     -o-transform:rotate(105deg);
240 }
241 .tube .bar:nth-child(3){
242     bottom:-3px;
243     left:-10px;
244     transform:rotate(235deg);
245     -webkit-transform:rotate(235deg);
246     -o-transform:rotate(235deg);
247 }
248 .trans{
249     width:130px;
250     height:70px;
251     position:absolute;
252     overflow:hidden;
253     top:0;
254     left:0;
255     border-radius:0 70px 0 50px;
256 }
257 .trans .bar{
258     display:block;
259     width:9px;
260     height:9px;
261     background:#000;
262     position:absolute;
263     top:50%;
264     z-index:2;
265     margin:-4px 0 0 -4px;
266     border-radius:60%;
267 }
268 .trans .bar:after{
269     content:"";
270     display:block;
271     width:11px;
272     height:12px;
273     position:absolute;
274     top:-13px;
275     left:-13px;
276     z-index:100;
277     border-radius:60%;
278     background:rgba(250,250,250,.85);
279 }
280 .pullLeft .trans .bar{
281     transform:skewX(-15deg);
282     -webkit-transform:skewX(-15deg);
283     -o-transform:skewX(-15deg);
284 }
285 .pullLeft .trans .bar{left:48%;}
286 .pullRight .trans .bar{
287     transform:skewX(-15deg) scale(-1,1);
288     -webkit-transform:skewX(-15deg) scale(-1,1);
289     -o-transform:skewX(-15deg) scale(-1,1);
290 }
291 .pullRight .trans .bar{right:48%;}
292 .ani-narrow{
293     animation:ani-narrow 0.5s linear 1s;
294     -webkit-animation:ani-narrow 0.5s linear 1s;
295     -o-animation:ani-narrow 0.5s linear 1s;
296 }
297 @keyframes ani-narrow{
298     from{
299         transform:scale(1);
300     }
301     to{
302         opacity:0;
303         transform:scale(0);
304     }
305 }
306 @-webkit-keyframes ani-narrow{
307     from{
308         -webkit-transform:scale(1);
309     }
310     to{
311         opacity:0;
312         -webkit-transform:scale(0);
313     }
314 }
315 @-o-keyframes ani-narrow{
316     from{
317         -o-transform:scale(1);
318     }
319     to{
320         opacity:0;
321         -o-transform:scale(0);
322     }
323 }
324 .ani-zoom{
325     animation:ani-zoom 11s linear 0.8s;
326     -webkit-animation:ani-zoom 11s linear 0.8s;
327     -o-animation:ani-zoom 11s linear 0.8s;
328 }
329 @keyframes ani-zoom{
330     0%{
331         opacity:0;
332         transform:scale(0);
333     }
334     6%{
335         opacity:1;
336         transform:scale(1);
337     }
338     95%{
339         opacity:1;
340         transform:scale(1);
341     }
342     100%{
343         opacity:0;
344         transform:scale(1.5);
345     }
346 }
347 @-webkit-keyframes ani-zoom{
348     0%{
349         opacity:0;
350         -webkit-transform:scale(0);
351     }
352     6%{
353         opacity:1;
354         -webkit-transform:scale(1);
355     }
356     95%{
357         opacity:1;
358         -webkit-transform:scale(1);
359     }
360     100%{
361         opacity:0;
362         -webkit-transform:scale(1.5);
363     }
364 }
365 @-o-keyframes ani-zoom{
366     0%{
367         opacity:0;
368         -o-transform:scale(0);
369     }
370     6%{
371         opacity:1;
372         -o-transform:scale(1);
373     }
374     95%{
375         opacity:1;
376         -o-transform:scale(1);
377     }
378     100%{
379         opacity:0;
380         -o-transform:scale(1.5);
381     }
382 }
383 .ani-rotateHook{
384     animation:ani-rotateHook 5s ease-in 2.5s;
385     -webkit-animation:ani-rotateHook 5s ease-in 2.5s;
386     -o-animation:ani-rotateHook 5s ease-in 2.5s;
387 }
388 @keyframes ani-rotateHook{
389     0%{
390         opacity:0;
391         transform:scale(0) rotate(0);
392     }
393     15%{
394         opacity:1;
395         transform:scale(1) rotate(-360deg);
396     }
397     90%{
398         opacity:1;
399         transform:scale(1) rotate(-360deg);
400     }
401     100%{
402         opacity:0;
403         transform:scale(1.8) rotate(-540deg);
404     }
405 }
406 @-webkit-keyframes ani-rotateHook{
407     0%{
408         opacity:0;
409         -webkit-transform:scale(0) rotate(0);
410     }
411     15%{
412         opacity:1;
413         -webkit-transform:scale(1) rotate(-360deg);
414     }
415     90%{
416         opacity:1;
417         -webkit-transform:scale(1) rotate(-360deg);
418     }
419     100%{
420         opacity:0;
421         -webkit-transform:scale(1.8) rotate(-540deg);
422     }
423 }
424 @-o-keyframes ani-rotateHook{
425     0%{
426         opacity:0;
427         -o-transform:scale(0) rotate(0);
428     }
429     15%{
430         opacity:1;
431         -o-transform:scale(1) rotate(-360deg);
432     }
433     90%{
434         opacity:1;
435         -o-transform:scale(1) rotate(-360deg);
436     }
437     100%{
438         opacity:0;
439         -o-transform:scale(1.8) rotate(-540deg);
440     }
441 }
442 .ani-rotateTube{
443     animation:ani-rotateTube 5s ease-in-out 6.5s;
444     -webkit-animation:ani-rotateTube 5s ease-in-out 6.5s;
445     -o-animation:ani-rotateTube 5s ease-in-out 6.5s;
446 }
447 @keyframes ani-rotateTube{
448     0%{
449         opacity:0;
450         transform:scale(0) rotate(0);
451     }
452     30%{
453         opacity:1;
454         transform:scale(1) rotate(-360deg);
455     }
456     100%{
457         opacity:1;
458         transform:scale(1) rotate(-360deg);
459     }
460 }
461 @-webkit-keyframes ani-rotateTube{
462     0%{
463         opacity:0;
464         -webkit-transform:scale(0) rotate(0);
465     }
466     30%{
467         opacity:1;
468         -webkit-transform:scale(1) rotate(-360deg);
469     }
470     100%{
471         opacity:1;
472         -webkit-transform:scale(1) rotate(-360deg);
473     }
474 }
475 @-o-keyframes ani-rotateTube{
476     0%{
477         opacity:0;
478         -o-transform:scale(0) rotate(0);
479     }
480     30%{
481         opacity:1;
482         -o-transform:scale(1) rotate(-360deg);
483     }
484     100%{
485         opacity:1;
486         -o-transform:scale(1) rotate(-360deg);
487     }
488 }
489 .ani-shadow{
490     animation:ani-shadow 1s linear 11s;
491     -webkit-animation:ani-shadow 1s linear 11s;
492     -o-animation:ani-shadow 1s linear 11s;
493 }
494 @keyframes ani-shadow{
495     0%{
496         opacity:0;
497         box-shadow:none;
498     }
499     100%{
500         opacity:1;
501         box-shadow:0 0 0 14px #464646,0 0 0 16px #000,0 0 0 30px #6c6c6c,0 0 0 32px #000,0 0 0 44px #a6a6a6,0 0 0 46px #000;
502     }
503 }
504 @-webkit-keyframes ani-shadow{
505     0%{
506         opacity:0;
507         box-shadow:none;
508     }
509     100%{
510         opacity:1;
511         box-shadow:0 0 0 14px #464646,0 0 0 16px #000,0 0 0 30px #6c6c6c,0 0 0 32px #000,0 0 0 44px #a6a6a6,0 0 0 46px #000;
512     }
513 }
514 @-o-keyframes ani-shadow{
515     0%{
516         opacity:0;
517         box-shadow:none;
518     }
519     100%{
520         opacity:1;
521         box-shadow:0 0 0 14px #464646,0 0 0 16px #000,0 0 0 30px #6c6c6c,0 0 0 32px #000,0 0 0 44px #a6a6a6,0 0 0 46px #000;
522     }
523 }
524 .ani-narrow,
525 .ani-zoom,
526 .ani-rotateHook,
527 .ani-rotateTube,
528 .ani-shadow,
529 .eyes .line:after{
530     animation-fill-mode:both;
531     -webkit-animation-fill-mode:both;
532     -o-animation-fill-mode:both;
533 }

时间: 2024-08-05 22:06:18

纯css3制作写轮眼开眼及进化过程的相关文章

纯css3制作写轮眼开眼及进化过程[转]

目前已经测试 IE10.Firefox浏览器.Chrome浏览器.Opera浏览器.360浏览器(两种模式)兼容已通过. 温馨提示:以上浏览器版本号均最新的:动画过程中每个阶段大约会停留5秒钟,希望你不会中幻术^_^. 在线演示 源码下载 根据某位网友的建议,我做了点小修改:重新计算了一下时间,让效果可循环,整个循环一圈需要20秒的时间,每个阶段还是和原来一样大约停留5秒钟. HTML代码: 1 <div class="container"> 2 <!--左眼开始--

纯CSS3制作的圆角效果按钮菜单

<!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>纯CSS3制作的圆角效果按钮菜单丨曲阳雕塑</title> <style type="text/css"> nav{display: block; width: 100%; ov

纯CSS3制作卡通场景汽车动画效果

前言 今天分享一下我昨晚做的CSS3动画效果——卡通场景汽车动画.在接触CSS3动画之前,我之前实现一些简单的动画效果都是使用flash完成的.但是自从CSS3横空出世,在移动端对CSS3动画的运用越来越多.今天这个分享是PC端的案例,因为我做的是大场景来的,起因还是我无意间看到一张卡通图片.于是我突发灵感,就趁热打铁使用CSS3动画把它按照自己的想法实现了出来.接下来,就让我们一起进入这个好玩的分享吧! 预览 学习一个案例要有热情,就应该先看一下案例的效果,所以,下图为我录的gif图片,大家先

纯CSS3制作的“Ribbons”效果

在看具体每个demo之前,我们一起来看下面一个截图: 上图是一个典型的“Ribbons”各部位的示意图,但每一个“Ribbons”并不会都使用上图示意的各个部分,在下面的实例中大家可以明显的看 到或者说感受到.别的我就不多说了,我想上图能示意出“Ribbons”各个部位.那么每个部位我们可以使用一个“html”标签,当然有了CSS3的伪 元素“::before”和“::after”后,我们可以省去一些标签. 效果一: HTML Markup <div class="ribbons"

纯CSS3制作皮卡丘动画壁纸

前言 明天就放假了,趁着今晚的空挡时间来写这篇博客——这是我昨晚实现的一个简单的CSS3动画效果.话说还得缘起我逛了一下站酷网,然后不小心看到了一张皮卡丘的手机壁纸,觉得很可爱,然后觉得这种效果是可以用CSS3来实现的,于是带着好感就实现了它.至于原图吧,为了不影响大家对我实现的动画产生对比,我就有心地不放上来了,哈哈!那么到底是什么效果呢?接着往下看吧! 正文 OK,接下来就是晒效果图的时候了,看图后才有兴趣了解一下,不然很沉闷,没什么心思看了. PS:由于我这个动画的尺寸做得比较大(720

纯CSS3制作圆形进度条所遇到的问题

近日在开发的页面中,需要制作一个动态的圆形进度条,首先想到的是利用两个矩形,宽等于直径的一半,高等于直径,两个矩形利用浮动贴在一起,设置overflow:hidden属性,作为盒子,内部有一个与其宽高相等的子盒子,左侧的子盒子左上角和左下角以及右侧子盒子的右上角和右下角利用border-radius:半径,这样两个矩形便组成了一个完整的圆形. 我们让左侧的子盒子绕着右边的中点旋转180°,这样左侧的半圆就隐藏了,右侧半圆同理.这个地方设置旋转中心是用的transform-origin属性,第一个

css3动画特效:纯css3制作win8加载动画特效

Windows 8 css特效代码: <style type="text/css"> .hnyei{margin: 0 auto; width:600px; height:400px; background-color: #90da15; } .wrapp{position: absolute; top: 25%; left: 50%; width: 600px; height: 300px; margin: -150px 0 0 -300px; -webkit-persp

CSS3制作精美日历

效果图如下,纯CSS3制作,如下图: demo预览 html如下: <div class="calendar"> <span class="year">2012</span> <span class="day">24</span> <span class="month">January</span> </div> css如下: .c

纯CSS3编写的面包屑导航收集

整理了10个纯CSS3制作的面包屑导航,这些都是通过CSS3来编写,十分方便,而且实用.有些文章附有教程,大家可以研究学习一下. 漂亮面包屑导航 查看网站 扁平化面包屑导航 查看网站 圆形风格面包屑导航 查看网站 CSS面包屑导航 查看网站 CSS3面包屑导航制作教程 查看网站 黄色的CSS Breadcrumbs教程 查看网站 CSS3 Breadcrumbs 查看网站 扁平化风格面包屑制作教程 查看网站 CSS 面包屑菜单制作方法 查看网站 五个不同风格的面包屑导航CSS制作教程 查看网站