In this tutorial, we are going to make a fly airplane on a web page using CSS animation. Check the final version of this animation here:
Please open an empty pen to follow this tutorial by clicking on this link:
codepen.io/pen
Watch Video Tutorial
If you prefer video over text, you can watch this video too:
Step 1: Create Sky
Create a full-screen div and set the background color to blue.
HTML
<div class="sky">
</div>
CSS
*{
margin: 0;
padding: 0;
}
.sky{
width: 100%;
height: 100vh;
position: relative;
background-color: #00ccff;
overflow-x: hidden;
}
Step 2: Add Clouds
Create animated clouds using keyframes on top.
HTML
<div class="sky">
<div class="clouds"></div>
</div>
CSS
.clouds{
position: absolute;
top:50px;
height: 100px;
right: 0;
left: -2000px;
width: 500%;
background-image: url(https://i.ibb.co/7S6qn59/clouds.png);
background-repeat: repeat-x;
animation: clouds 50s linear infinite;
}
@keyframes clouds{
100%{
transform: translateX(2000px);
}
}
Step 3: Insert Mountains
Create animated mountains using keyframes on the bottom.
HTML
<div class="sky">
<div class="clouds"></div>
<div class="mountains"></div>
</div>
CSS
.mountains{
position: absolute;
bottom:0;
height: 250px;
right: 0;
left: -2000px;
width: 500%;
background-image: url(https://i.ibb.co/zJbfkgZ/mountain.png);
background-repeat: repeat-x;
animation: mountains 10s linear infinite;
}
@keyframes mountains{
100%{
transform: translateX(2000px);
}
}
.airplane{
top: 180px;
left:40%;
position: absolute;
z-index: 1;
}
Step 4: Make Airplane
Create an airplane on the center and add to flames for its engines.
HTML
<div class="sky">
<div class="airplane">
<img src="https://i.ibb.co/SPpRcJz/airplane.png">
<div class="flame"></div>
<div class="flame flame2"></div>
</div>
</div>
CSS
.airplane{
top: 180px;
left:40%;
position: absolute;
z-index: 1;
}
.flame{
top: -40px;
left: 150px;
height: 10px;
width:60px;
position: relative;
border-radius: 50%;
background-color: #ffffff;
animation: flame 0.3s linear infinite;
z-index: -1;
}
.flame2{
top: -195px;
left: 115px;
}
@keyframes flame{
0%{
transform: translateX(0%);
}
50%{
transform: translateX(50%);
}
100%{
transform: translateX(0%);
}
}
Download Source Code & Images
You can download the source code of this tutorial here:
Also, download images from here:
- All images on my site
- clouds.png: https://i.ibb.co/7S6qn59/clouds.png
- mountain.png: https://i.ibb.co/zJbfkgZ/mountain.png
- airplane.png: https://i.ibb.co/SPpRcJz/airplane.png
Top comments (1)
canvas or svg is good than css designing. Thanks your tutorial .