CSS3 制作绽放的莲花采用效果叠加实现
CSS3 制作绽放的莲花采用效果叠加实现
发布时间:2016-12-27 来源:查字典编辑
摘要:这效果看起来挺炫,但原理并不复杂,能实现一片花瓣动起来,就能实现9片花瓣。效果的叠加而已。HTML:CSS:ViewCodebody{bac...

这效果看起来挺炫,但原理并不复杂,能实现一片花瓣动起来,就能实现9片花瓣。效果的叠加而已。

HTML:

<section>

<div>

<div></div>

<div></div>

<div></div>

<div></div>

<div></div>

<div></div>

<div></div>

<div></div>

<div></div>

</div>

</section>

CSS:

View Code

body {

background-color: #000;

}

.demo {

margin:0px auto;

width: 500px;

}

/*莲花花瓣的容器*/

.box {

position: relative;/*设置相对定位,因为花瓣都要进行绝对定位*/

height: 400px;

margin-top:400px

}

/*花瓣进行绝对定位*/

.box .leaf {

position: absolute;

}

/*绘制莲花花瓣*/

.leaf {

margin-top:0px;

width: 200px;

height: 200px;

border-radius: 200px 0px;/*制作花瓣角*/

background: -moz-linear-gradient(45deg,rgba(188,190,192,1) 8%,rgba(158,31,99,1) 30%,rgba(158,31,99,1) 100%);/*制作花瓣颜色*/

background: -webkit-linear-gradient(45deg,rgba(188,190,192,1) 8%,rgba(158,31,99,1) 30%,rgba(158,31,99,1) 100%);/*制作花瓣颜色*/

opacity: .6;

filter:alpha(opacity=50);

transform: rotate(135deg);/*花瓣旋转135deg*/

transform-origin: top right;/*重置花瓣旋转原点,这个很重要*/

}

@keyframes show-2 {

% {

transform: rotate(135deg);

}

% {

transform: rotate(45deg);

}

%{

transform: rotate(135deg);

}

}

@keyframes show-3 {

% {

transform: rotate(135deg);

}

% {

transform: rotate(65deg);

}

%{

transform: rotate(135deg);

}

}

@keyframes show-4 {

% {

transform: rotate(135deg);

}

% {

transform: rotate(85deg);

}

%{

transform: rotate(135deg);

}

}

@keyframes show-5 {

% {

transform: rotate(135deg);

}

% {

transform: rotate(105deg);

}

%{

transform: rotate(135deg);

}

}

@keyframes show-6 {

% {

transform: rotate(135deg);

}

% {

transform: rotate(165deg);

}

%{

transform: rotate(135deg);

}

}

@keyframes show-7 {

% {

transform: rotate(135deg);

}

% {

transform: rotate(185deg);

}

%{

transform: rotate(135deg);

}

}

@keyframes show-8 {

% {

transform: rotate(135deg);

}

% {

transform: rotate(205deg);

}

%{

transform: rotate(135deg);

}

}

@keyframes show-9 {

% {

transform: rotate(135deg);

}

% {

transform: rotate(225deg);

}

%{

transform: rotate(135deg);

}

}

.leaf:nth-child(1) {

background: -moz-linear-gradient(45deg,rgba(250,250,250,1) 8%,rgba(158,31,99,1) 30%,rgba(158,31,99,1) 100%);/*制作花瓣颜色*/

}

.leaf:nth-child(2) {

animation: show-2 6s ease-in-out infinite;

}

.leaf:nth-child(3) {

animation: show-3 6s ease-in-out infinite;

}

.leaf:nth-child(4) {

animation: show-4 6s ease-in-out infinite;

}

.leaf:nth-child(5) {

animation: show-5 6s ease-in-out infinite;

}

.leaf:nth-child(6) {

animation: show-6 6s ease-in-out infinite;

}

.leaf:nth-child(7) {

animation: show-7 6s ease-in-out infinite;

}

.leaf:nth-child(8) {

animation: show-8 6s ease-in-out infinite;

}

.leaf:nth-child(9) {

animation: show-9 6s ease-in-out infinite;

}

演示:

<!doctype html><html><head> <meta charset="utf-8"> <title></title> <meta name="robots" content="noindex, nofollow"> <link rel="canonical" href="http://cssdeck.com/labs/ua52kzsu"> <style>* { margin: 0; padding: 0;-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }html, body, iframe { width: 100%; height: 100%;}body { overflow: hidden; }iframe { border: 0 none; padding-top: 30px; }header {overflow: hidden;}header { height: 30px; max-height: 30px; width: 100%; position: absolute; background: #3c404b; border-bottom: 1px solid #000;}/* Logo */.logo { width: 60px; float: left; box-shadow: 8px 20px 18px -2px rgba(0, 0, 0, 0.22);}.logo a { text-indent: -9999px; display: block; text-decoration: none; border: none; outline: none; background: url(https://dl.dropbox.com/u/26141789/logoTop.png) 50% 50% no-repeat; height: 30px; width: 60px;}/* Navigation */.top_nav, .extra { float: left; padding: 0; margin: 0; list-style: none;}.extra { float: right; margin-right: 1px; }.top_nav li, .extra li { float: left; position: relative;}.top_nav li a, .extra li a { height: 30px; display: block; text-align: center; font: 12px/30px "Open Sans", Arial, sans-serif; color: #efefef; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.22); text-decoration: none; padding: 0 25px; overflow: hidden; position: relative;}.top_nav > li > a, .extra > li > a, .logo a { -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;}/* header has overflow: hidden which won't letdropdown appear. So why not use my amazing skillsand write the worst hacks ever! */.top_nav > li > a:before, .extra > li > a:before { position: absolute; width: 100%; content: ''; height: 30px; box-shadow: 8px 12px 18px -2px rgba(0, 0, 0, 0.22); top: 0; left: -100%;}header li.user_menu > a { padding: 5px 10px 0; background: #333;}header li:hover > a, header li a:hover, .logo a:hover{ background-color: rgba(0, 0, 0, .5);} </style> <body><header> <ul> <li><a href="http://twitter.com/share?text=Full view for &via=cssdeck" target="_blank">Tweet</a></li> <li><a href="/labs/ua52kzsu/0">Edit in Labs</a></li> </ul></header><iframesrc="http://secure.cssdeck.com/labs/full/ua52kzsu/0/noframe#dontkillanim"></iframe><script> window.__stop_animations = false;</script></body></html>

提示:您可以先修改部分代码再运行

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新 Div+Css教程学习
热门 Div+Css教程学习
网页设计子分类