Looking for a creative and playful design project to showcase your HTML and CSS skills? Consider building a “Jelly Bubble Animation” using only these two languages. In this tutorial, we’ll show you step-by-step how to create a “Jelly Bubble Animation” from scratch using HTML and CSS. You’ll learn how to use HTML to create the structure of the bubble, and style it with CSS to give it a playful and animated appearance. Plus, you’ll gain valuable experience in using CSS to create dynamic and responsive designs. By the end of this tutorial, you’ll have a functional and visually stunning “Jelly Bubble” that you can use to showcase your skills and engage your website visitors. So, let’s get started on creating a playful and visually appealing “Jelly Bubble” using HTML and CSS!
Before we start here are 50 projects to create using HTML CSS and JavaScript –
I would recommend you don’t just copy and paste the code, just look at the code and type by understanding it.
Demo
HTML Code
Starter Template
<!doctype html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- CSS --> <link rel="stylesheet" href="style.css"> <!-- fontawesome --> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css"> <title>Jelly Bubble using HTML and CSS - Coding Torque</title> </head> <body> <!-- Further code here --> <script src="script.js"></script> </body> </html>
Paste the below code in your <body>
tag.
<div class="ball"> </div> <div class="shadow"></div>
CSS Code
Create a file style.css and paste the code below.
body { background-image: linear-gradient( to bottom right, #91defe, #99c0f9, #bdb6ec, #d7b3e3, #efb3d5, #f9bccc ); display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; overflow: hidden; } .ball { animation: float 3.5s ease-in-out infinite; height: 200px; width: 200px; border-radius: 50%; position: relative; background: radial-gradient( circle at 75% 30%, white 5px, aqua 8%, darkblue 60%, aqua 100% ); box-shadow: inset 0 0 20px #fff, inset 10px 0 46px #eaf5fc, inset 88px 0px 60px #c2d8fe, inset -20px -60px 100px #fde9ea, inset 0 50px 140px #fde9ea, 0 0 90px #fff; } @keyframes float { 0% { transform: translatey(0px); } 50% { transform: translatey(-80px); } 100% { transform: translatey(0px); } } .shadow { background: #b490b2; width: 150px; height: 40px; top: 70%; animation: expand 4s infinite; position: absolute; border-radius: 50%; } @keyframes expand { 0%, 100% { transform: scale(0.5); } 50% { transform: scale(1); } } @media only screen and (max-width: 500px) { .ball { animation: float 4.5s ease-in-out infinite; height: 120px; width: 120px; background: radial-gradient( circle at 65% 35%, white 5px, aqua 15%, darkblue 50%, aqua 100% ); box-shadow: inset 0 -20px 30px #fff, inset 40px 0 46px #eaf5fc, inset 58px 0px 60px #c2d8fe, inset -8px -30px 100px #fde9ea, inset 0 20px 110px #fde9ea, 0 0 90px #fff; } .shadow { width: 90px; height: 20px; top: 78%; animation: expand 5s infinite; } @keyframes float { 0% { transform: translatey(0px); } 50% { transform: translatey(-50px); } 100% { transform: translatey(0px); } } }
Final Output
Written by: Piyush Patil
Code Credits: @Jelilicent
If you found any mistakes or have any doubts please feel free to Contact Us
Hope you find this post helpful💖