Flame animation implemented with CSS3

Flame animation implemented with CSS3

Achieve results

Implementation Code

html

<div class="container">
  <div class="red flame"></div>
  <div class="orange flame"></div>
  <div class="yellow flame"></div>
  <div class="white flame"></div>
  <div class="blue circle"></div>
  <div class="black circle"></div>
</div>

CSS3

body{
  background:black;
}

.container{
  margin:80px auto;
  width: 60px;
  height: 60px;
  position:relative;
  transform-origin:center bottom;
  animation-name: flicker;
  animation-duration:3ms;
  animation-delay:200ms;
  animation-timing-function: ease-in;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

.flame{
  bottom:0;
  position:absolute;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  border-top-left-radius: 50%;
  transform:rotate(-45deg) scale(1.5,1.5);
}

.yellow{
  left:15px; 
  width: 30px;
  height: 30px;
  background:gold;
  box-shadow: 0px 0px 9px 4px gold;
}

.orange{
  left:10px; 
  width: 40px;
  height: 40px;
  background:orange;
  box-shadow: 0px 0px 9px 4px orange;
}

.red{
  left:5px;
  width: 50px;
  height: 50px;
  background:OrangeRed;
  box-shadow: 0px 0px 5px 4px OrangeRed;
}

.white{
  left:15px; 
  bottom:-4px;
  width: 30px;
  height: 30px;
  background:white;
  box-shadow: 0px 0px 9px 4px white;
}

.circle{
  border-radius: 50%;
  position:absolute;  
}

.blue{
  width: 10px;
  height: 10px;
  left:25px;
  bottom:-25px; 
  background: SlateBlue;
  box-shadow: 0px 0px 15px 10px SlateBlue;
}

.black{
  width: 40px;
  height: 40px;
  left:10px;
  bottom:-60px;  
  background: black;
  box-shadow: 0px 0px 15px 10px black;
}

@keyframes flicker{
  0% {transform: rotate(-1deg);}
  20% {transform: rotate(1deg);}
  40% {transform: rotate(-1deg);}
  60% {transform: rotate(1deg) scaleY(1.04);}
  80% {transform: rotate(-2deg) scaleY(0.92);}
  100% {transform: rotate(1deg);}
}

The above is the details of the flame animation implemented by CSS3. For more information about CSS3 flame animation, please pay attention to other related articles on 123WORDPRESS.COM!

<<:  Vue button permission control introduction

>>:  Details on using regular expressions in MySQL

Recommend

The iframe refresh method is more convenient

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

Discuss the application of mixin in Vue

Mixins provide a very flexible way to distribute ...

Detailed analysis of SQL execution steps

Detailed analysis of SQL execution steps Let'...

Introduction to Linux common hard disk management commands

Table of contents 1. df command 2. du command 3. ...

Summary of MySQL stored procedure permission issues

MySQL stored procedures, yes, look like very rare...

Vue implements various ideas for detecting sensitive word filtering components

Table of contents Written in front Requirements A...

Detailed graphic explanation of how to clear the keep-alive cache

Table of contents Opening scene Direct rendering ...

Detailed explanation of mysql permissions and indexes

mysql permissions and indexes The highest user of...

Summary of Mathematical Symbols in Unicode

There are many special symbols used in mathematic...

Common errors and solutions for connecting Navicat to virtual machine MySQL

Question 1 solve Start the service: service mysql...

CSS3 achieves various border effects

Translucent border Result: Implementation code: &...

How CSS affects the white screen time during initial loading

Rendering pipeline with external css files In the...