CSS3 realizes the animation effect of lotus blooming

CSS3 realizes the animation effect of lotus blooming

Let’s look at the effect first:

This effect looks quite dazzling, but the principle is not complicated. If one petal can be moved, then all nine petals can be made. It's just a superposition of effects.

HTML:

<section class="demo">  
  <div class="box">  
     <div class="leaf"></div>  
     <div class="leaf"></div>  
     <div class="leaf"></div>  
     <div class="leaf"></div>  
     <div class="leaf"></div>  
     <div class="leaf"></div> 
     <div class="leaf"></div>  
     <div class="leaf"></div>  
     <div class="leaf"></div>  
  </div>  
</section>

CSS:

View Code 
body {
   background-color: #000;
}      

.demo {
   margin:0px auto;
   width: 500px;
}
/*Container for lotus petals*/
.box {
   position: relative;/*Set relative positioning, because the petals must be absolutely positioned*/   
   height: 400px;
   margin-top:400px
}
/*Absolute positioning of petals*/
.box .leaf {
   position: absolute;
}
/*Draw lotus petals*/
.leaf {
   margin-top:0px;
   width: 200px;
   height: 200px;
   border-radius: 200px 0px;/*Make petal corners*/
   background: -moz-linear-gradient(45deg,rgba(188,190,192,1) 8%,rgba(158,31,99,1) 30%,rgba(158,31,99,1) 100%);/*Make petal color*/
        background: -webkit-linear-gradient(45deg,rgba(188,190,192,1) 8%,rgba(158,31,99,1) 30%,rgba(158,31,99,1) 100%);/*Make petal color*/
   opacity: .6;
   filter:alpha(opacity=50);
   transform: rotate(135deg);/*petals rotate 135deg*/
   transform-origin: top right;/*Reset the petal rotation origin, this is very important*/
}

@keyframes show-2 {
    0% {
     transform: rotate(135deg);
    }
    50% {
     transform: rotate(45deg);
    }
    100%{
     transform: rotate(135deg);
    }
}
@keyframes show-3 {
    0% {
     transform: rotate(135deg);
    }
    50% {
     transform: rotate(65deg);
    }
    100%{
     transform: rotate(135deg);
    }
}
@keyframes show-4 {
    0% {
     transform: rotate(135deg);
    }
    50% {
     transform: rotate(85deg);
    }
    100%{
     transform: rotate(135deg);
    }
}
@keyframes show-5 {
    0% {
     transform: rotate(135deg);
    }
    50% {
     transform: rotate(105deg);
    }
    100%{
     transform: rotate(135deg);
    }
}
@keyframes show-6 {
    0% {
     transform: rotate(135deg);
    }
    50% {
     transform: rotate(165deg);
    }
    100%{
     transform: rotate(135deg);
    }
}
@keyframes show-7 {
    0% {
     transform: rotate(135deg);
    }
    50% {
     transform: rotate(185deg);
    }
    100%{
     transform: rotate(135deg);
    }
}
@keyframes show-8 {
    0% {
     transform: rotate(135deg);
    }
    50% {
     transform: rotate(205deg);
    }
    100%{
     transform: rotate(135deg);
    }
}  

@keyframes show-9 {
    0% {
     transform: rotate(135deg);
    }
    50% {
     transform: rotate(225deg);
    }
    100%{
     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%);/*Make the petal color*/
}
.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;
}

The above is the details of how to achieve the animation effect of lotus blooming with CSS3. For more information about CSS3 lotus blooming animation, please pay attention to other related articles on 123WORDPRESS.COM!

<<:  Manual and scheduled backup steps for MySQL database

>>:  Some front-end basics (html, css) encountered in practice

Recommend

Discussion on the way to open website hyperlinks

A new window opens. Advantages: When the user cli...

Recommend 60 paging cases and good practices

<br />Structure and hierarchy reduce complex...

Summary of various methods for JS data type detection

Table of contents background What are the methods...

Web Design Experience: Efficiently Writing Web Code

Originally, this seventh chapter should be a deep ...

React new version life cycle hook function and usage detailed explanation

Compared with the old life cycle Three hooks are ...

CentOS6.9+Mysql5.7.18 source code installation detailed tutorial

CentOS6.9+Mysql5.7.18 source code installation, t...

The iframe refresh method is more convenient

How to refresh iframe 1. To refresh, you can use j...

CSS3 realizes the graphic falling animation effect

See the effect first Implementation Code <div ...

Play and save WeChat public account recording files (convert amr files to mp3)

Table of contents Audio transcoding tools princip...

Detailed explanation of Linux text processing command sort

sort Sort the contents of a text file Usage: sort...

Implementation of breakpoint resume in vue-video-player

In a recent project, I needed to implement the fu...

Detailed explanation of JS array methods

Table of contents 1. The original array will be m...

Detailed explanation of Vue's ref attribute

Summarize This article ends here. I hope it can b...

HTML form tag tutorial (1):

Forms are a major external form for implementing ...