CSS3之绽放的花朵(网页效果--每日一更)

  今天,带来的是纯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等属性,对于不同浏览器会产生兼容性问题,只需添加对应的浏览器私有头即可,如上。

  享受代码,享受生活,网页效果,每日一更。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。