Skip to content
Related Articles
Get the best out of our app
GFG App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Creating a 3D Flip button using HTML and CSS

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

Creating 3D effects is one of the most demanding needs in web designing. In this article, we will learn to implement 3D Flip button animation effect using simple HTML and CSS.  In this effect, whenever the user hovers over a button, it will show an animation of a flip with a 3D look.

HTML Code: In this section, we will use the anchor tag, and use CSS to design the button.

HTML




<!DOCTYPE html>
<html>
  
<body>
    <a href="#">
        <span>GeeksForGeeks</span>
    </a>
</body>
  
</html>


CSS Section: In this section, we will use some CSS properties to create the 3D effect.

The transform-style property is used to define that the effect should preserve the 3D positioning so that the effect looks correct. The :hover selector can be used to select the hyperlink and use the transform property. The rotateX() value is used to rotate the button whenever the button is being hovered over. 

CSS Code:

CSS




<style>
      body {
      display: flex;
      min-height: 100vh;
      align-items: center;
      justify-content: center;
      background: white;
    }
  
    a {
      position: relative;
      padding: 20px 40px;
      background: black;
      color: white;
      text-decoration: none;
      transform-style: preserve-3d;
      transition: ease-in-out 3s;
    }
  
    a:hover {
      transform: rotateX(360deg);
    }
  
    a span {
      display: block;
      font-weight: bold;
      transform-style: preserve-3d;
    }
</style>


Complete Code: In this section, we will combine the above two sections to create a complete effect.

HTML




<!DOCTYPE html>
<html>
  
<head>
    <style>
        body {
            display: flex;
            min-height: 100vh;
            align-items: center;
            justify-content: center;
            background: white;
        }
  
        a {
            position: relative;
            padding: 20px 40px;
            background: black;
            color: white;
            text-decoration: none;
            transform-style: preserve-3d;
            transition: ease-in-out 3s;
        }
  
        a:hover {
            transform: rotateX(360deg);
        }
  
        a span {
            display: block;
            font-weight: bold;
            transform-style: preserve-3d;
        }
    </style>
</head>
  
<body>
    <a href="#">
        <span>GeeksForGeeks</span>
    </a>
</body>
  
</html>


Output:


My Personal Notes arrow_drop_up
Last Updated : 23 Dec, 2020
Like Article
Save Article
Similar Reads
Related Tutorials