How to create jelly button

Hello, guys in this tutorial we will create a jelly button using HTML CSS & TweenMax.js.

The HTML element represents a clickable button, used to submit forms or anywhere in a document for accessible, standard button functionality. By default, HTML buttons are presented in a style resembling the platform the user agent runs on, but you can change buttons’ appearance with CSS.

TweenMax.js

<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.12.1/TweenMax.min.js"></script>

First we need to create two files index.html and style.css then we need to do code for it.

Jelly button Step:1

Add below code inside index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>How to create jelly button</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta https-equiv="X-UA-Compatible" content="ie=edge" />
    <link rel="stylesheet" href="style.css" />
    <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans&display=swap" rel="stylesheet">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.12.1/TweenMax.min.js"></script>
  </head>
  <body>
    <button class="button">
      <span>Click me</span> 
    </button>
  </body>
  <script type="text/javascript">
    var $button = document.querySelector('.button');
    $button.addEventListener('click', function() {
      var duration = 0.3,
          delay = 0.05;
      TweenMax.to($button, duration, {scaleY: 1.2, ease: Expo.easeOut});
      TweenMax.to($button, duration, {scaleX: 1.2, scaleY: 1, ease: Back.easeOut, easeParams: [3], delay: delay});
      TweenMax.to($button, duration * 1.25, {scaleX: 1, scaleY: 1, ease: Back.easeOut, easeParams: [6], delay: delay * 3 });
    });
  </script>
</html>

Jelly button Step:2

Then we need to add code for style.css which code i provide in below screen.

* {
  padding: 0;
  margin: 0;
  font-family: 'IBM Plex Sans', sans-serif;
}
body {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background: #f1f2f3;
}
.button {
    position: relative;
    border: 0;
    padding: 12px 40px;
    border-radius: 50px;
    font-size: 18px;
    color: #fff;
    cursor: pointer;
    outline: 0;
    background-image: linear-gradient(-180deg, #FF89D6 0%, #C01F9E 100%);
    box-shadow: 0 1rem 1.25rem 0 rgba(22,75,195,0.50), 0 -0.25rem 1.5rem 
                                 rgba(110, 15, 155, 1) inset, 0 0.75rem 0.5rem 
                                 rgba(255,255,255, 0.4) inset, 0 0.25rem 0.5rem 0 
                                 rgba(180, 70, 207, 1) inset;
}

Jelly button Output:

Click me

Leave a Comment