今天,带来的是纯CSS3打造的效果--绽放的花朵。
先来看效果吧:http://webfront.verynet.cc/pc/flower.html
这是纯CSS3样式打造的效果,关键是采用了animation属性和transform属性。详细请看下面代码。
HTML结构:
1 <div class="div1"></div>2 <div class="div2"></div>3 <div class="div3"></div>4 <div class="div4"></div>5 <div class="div5"></div>6 <div class="div6"></div>7 <div class="div7"></div>8 <div class="div8"></div>9 <div class="div9"></div>
CSS样式:
1 <style type="text/css"> 2 .div1{ 3 position:absolute; 4 top:300px;left:500px; 5 background:pink;opacity:0.6;width:300px;height:300px; 6 z-index: 1; 7 border-radius:300px 0px;; 8 -webkit-transform-origin: 0px 300px; 9 -webkit-transform: rotate(-45deg); 10 -webkit-animation:wa1 10s ease 2s infinite alternate; 11 transform-origin: 0px 300px; 12 transform: rotate(-45deg); 13 animation:a1 10s ease 2s infinite alternate; 14 } 15 .div2{ 16 position:absolute; 17 top:300px;left:500px; 18 background:pink;opacity:0.6;width:300px;height:300px; 19 z-index: 2; 20 border-radius:300px 0px;; 21 -webkit-transform-origin: 0px 300px; 22 -webkit-transform: rotate(-45deg); 23 -webkit-animation:wa2 10s ease 2s infinite alternate; 24 transform-origin: 0px 300px; 25 transform: rotate(-45deg); 26 animation:a2 10s ease 2s infinite alternate; 27 28 } 29 .div3{ 30 position:absolute; 31 top:300px;left:500px; 32 background:pink;opacity:0.6;width:300px;height:300px; 33 z-index: 3; 34 border-radius:300px 0px;; 35 -webkit-transform-origin: 0px 300px; 36 -webkit-transform: rotate(-45deg); 37 -webkit-animation:wa3 10s ease 2s infinite alternate; 38 transform-origin: 0px 300px; 39 transform: rotate(-45deg); 40 animation:a3 10s ease 2s infinite alternate; 41 } 42 .div4{ 43 position:absolute; 44 top:300px;left:500px; 45 background:pink;opacity:0.6;width:300px;height:300px; 46 z-index: 4; 47 border-radius:300px 0px;; 48 -webkit-transform-origin: 0px 300px; 49 -webkit-transform: rotate(-45deg); 50 -webkit-animation:wa4 10s ease 2s infinite alternate; 51 transform-origin: 0px 300px; 52 transform: rotate(-45deg); 53 animation:a4 10s ease 2s infinite alternate; 54 } 55 .div5{ 56 position:absolute; 57 top:300px;left:500px; 58 background:pink;opacity:0.6;width:300px;height:300px; 59 z-index: 5; 60 border-radius:300px 0px;; 61 -webkit-transform-origin: 0px 300px; 62 -webkit-transform: rotate(-45deg); 63 -webkit-animation:wa5 10s ease 2s infinite alternate; 64 transform-origin: 0px 300px; 65 transform: rotate(-45deg); 66 animation:a5 10s ease 2s infinite alternate; 67 } 68 .div6{ 69 position:absolute; 70 top:300px;left:500px; 71 background:pink;opacity:0.6;width:300px;height:300px; 72 z-index: 6; 73 border-radius:300px 0px;; 74 -webkit-transform-origin: 0px 300px; 75 -webkit-transform: rotate(-45deg); 76 -webkit-animation:wa6 10s ease 2s infinite alternate; 77 transform-origin: 0px 300px; 78 transform: rotate(-45deg); 79 animation:a6 10s ease 2s infinite alternate; 80 } 81 .div7{ 82 position:absolute; 83 top:300px;left:500px; 84 background:pink;opacity:0.6;width:300px;height:300px; 85 z-index: 7; 86 border-radius:300px 0px;; 87 -webkit-transform-origin: 0px 300px; 88 -webkit-transform: rotate(-45deg); 89 -webkit-animation:wa7 10s ease 2s infinite alternate; 90 transform-origin: 0px 300px; 91 transform: rotate(-45deg); 92 animation:a7 10s ease 2s infinite alternate; 93 } 94 .div8{ 95 position:absolute; 96 top:300px;left:500px; 97 background:pink;opacity:0.6;width:300px;height:300px; 98 z-index: 8; 99 border-radius:300px 0px;;100 -webkit-transform-origin: 0px 300px;101 -webkit-transform: rotate(-45deg);102 -webkit-animation:wa8 10s ease 2s infinite alternate;103 transform-origin: 0px 300px;104 transform: rotate(-45deg);105 animation:a8 10s ease 2s infinite alternate;106 }107 .div9{108 position:absolute;109 top:300px;left:500px;110 background:pink;opacity:0.6;width:300px;height:300px;111 z-index: 9;112 border-radius:300px 0px;;113 -webkit-transform-origin: 0px 300px;114 -webkit-transform: rotate(-45deg);115 transform-origin: 0px 300px;116 transform: rotate(-45deg);117 }118 @-webkit-keyframes wa1{119 from{-webkit-transform: rotate(-45deg);}120 to{-webkit-transform: rotate(-125deg);}121 }122 @keyframes a1{123 from{transform: rotate(-45deg);}124 to{transform: rotate(-125deg);}125 }126 @-webkit-keyframes wa2{127 from{-webkit-transform: rotate(-45deg);}128 to{-webkit-transform: rotate(-105deg);}129 }130 @keyframes a2{131 from{transform: rotate(-45deg);}132 to{transform: rotate(-105deg);}133 }134 @-webkit-keyframes wa3{135 from{-webkit-transform: rotate(-45deg);}136 to{-webkit-transform: rotate(-85deg);}137 }138 @keyframes a3{139 from{transform: rotate(-45deg);}140 to{transform: rotate(-85deg);}141 }142 @-webkit-keyframes wa7{143 from{-webkit-transform: rotate(-45deg);}144 to{-webkit-transform: rotate(-65deg);}145 }146 @keyframes a7{147 from{transform: rotate(-45deg);}148 to{transform: rotate(-65deg);}149 }150 @-webkit-keyframes wa4{151 from{-webkit-transform: rotate(-45deg);}152 to{-webkit-transform: rotate(35deg);}153 }154 @keyframes a4{155 from{transform: rotate(-45deg);}156 to{transform: rotate(35deg);}157 }158 @-webkit-keyframes wa5{159 from{-webkit-transform: rotate(-45deg);}160 to{-webkit-transform: rotate(15deg);}161 }162 @keyframes a5{163 from{transform: rotate(-45deg);}164 to{transform: rotate(15deg);}165 }166 @-webkit-keyframes wa6{167 from{-webkit-transform: rotate(-45deg);}168 to{-webkit-transform: rotate(-5deg);}169 }170 @keyframes a6{171 from{transform: rotate(-45deg);}172 to{transform: rotate(-5deg);}173 }174 @-webkit-keyframes wa8{175 from{-webkit-transform: rotate(-45deg);}176 to{-webkit-transform: rotate(-25deg);}177 }178 @keyframes a8{179 from{transform: rotate(-45deg);}180 to{transform: rotate(-25deg);}181 }182 </style>
首先,先将一个正方形的盒子,通过border-radius属性控制圆角边框,令其展现出花瓣的效果。因为,调整出来的花瓣的顶点是在右上角,所以我们需要将其逆时针旋转45度,令其垂直。然后,就需要定义动画效果了。此例,仅仅是对webkit内核的浏览器和标准浏览器进行配置,如需要对其他浏览器设置兼容,可以将动画效果,@keyfarmes改为-o-keyframes(Opera浏览器),@-moz-keyframes(FireFox浏览器),@-webkit-keyframes(Safari and Chrome浏览器)。当定义好了动画,就可以进行调用了。使用animation:动画名 即可。在此,不详细介绍其参数的含义。小编,觉得应由读者自行了解,方能印象深刻。
注:其中,tranform属性、tranform-origin等属性,对于不同浏览器会产生兼容性问题,只需添加对应的浏览器私有头即可,如上。
享受代码,享受生活,网页效果,每日一更。