"Gradient 3D buttons with Hover Effects"
Bootstrap 4.1.1 Snippet by musthakeem781

<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <!------ Include the above in your HEAD tag ----------> <div class="container text-center"> <div class="row"> <div class="col-sm my-5 "> <h1>Effect 1</h1> <button class="btn1"> <span class="textOut1"></span><b>Hover Me</b></span> <span class="textIn1"><b>Click Me</b></span> </button> </div> </div> <div class="row"> <div class="col-sm my-5"> <h1>Effect 2</h1> <button class="btn2"> <span class="textOut2"><b>Hover Me</b></span> <span class="textIn2"><b>Click Me</b></span> </button> </div> </div> <div class="row"> <div class="col-sm my-5"> <h1>Effect 3</h1> <button class="btn3"> <span class="textOut3"><b>Hover Me</b></span> <span class="textIn3"><b>Click Me</b></span> </button> </div> </div> <div class="row"> <div class="col-sm my-5"> <h1>Effect 4</h1> <button class="btn4"> <span class="textOut4"><b>Hover Me</b></span> <span class="textIn4"><b>Click Me</b></span> </button> </div> </div> </div>
@import url('https://fonts.googleapis.com/css?family=Kaushan+Script|Lobster+Two|Oleo+Script'); @import url('https://fonts.googleapis.com/css?family=Righteous'); body { height: 100%; display: flex; align-items: center; justify-content: center; background-image: radial-gradient(circle, #f9f0b4, #f2d889, #eebe60, #eca23a, #eb8312); } button { font-family: 'Righteous', cursive; width: 400px; height: 2.5em; border:2px solid white; font-size: 27px; line-height: 2.5em; text-align: center; position:relative; overflow: hidden; letter-spacing:5px; } h1 { font-family: 'Kaushan Script', cursive; } button span { position: absolute; width: 100%; top: 0; left: 0; transition: 0.4s ease-in; } .textOut1,.textOut2,.textOut3,.textOut4 { left: 0%; } .textIn1,.textIn2 { color: yellow; } .textIn3,.textIn4 { color: blue; } .btn1 { background-image: linear-gradient(to right, #e90d9c, #ff2d52, #ff7e00, #c0bd00, #12eb25); box-shadow:0 0 0 1px #9a00cd inset, 0 0 0 2px rgba(255,255,255,0.15) inset, 0 8px 2px 0 #9823d5, 0 8px 8px 1px rgba(0,0,0,0.5); } .btn1:active { box-shadow:0 0 0 1px #9a00cd inset, 0 0 0 1px rgba(255,255,255,0.15) inset, 0 1px 3px 1px rgba(0,0,0,0.3); transform: translate(0px,10px); } .textIn1 { font-size: 1.1em; background-image: linear-gradient(to right, #e90db9, #d500c4, #bb00d1, #9900de, #6712eb); top:100%; } button:hover .textOut1 { top: -100%; } button:hover .textIn1 { top: 0; } .btn2 { border-radius:10px 30px 10px; background-image: radial-gradient(circle, #11fbd2, #00cef1, #0099ef, #5a5bbc, #7e0664); box-shadow:0 0 0 1px #a20068 inset, 0 0 0 2px rgba(255,255,255,0.15) inset, 0 8px 2px 0 #a20068, 0 8px 8px 1px rgba(0,0,0,0.5); } .btn2:active { box-shadow:0 0 0 1px #9a00cd inset, 0 0 0 1px rgba(255,255,255,0.15) inset, 0 1px 3px 1px rgba(0,0,0,0.3); transform: translate(0px,10px); } .textIn2 { font-size: 1.1em; background-image: linear-gradient(to bottom, #fd32c9, #eb008a, #cd0055, #a7042a, #7e1606); left:100%; } button:hover .textOut2 { left: -100%; } button:hover .textIn2 { left: 0; } .btn3 { border-radius:20px 20px 20px; background-image: linear-gradient(to right top, #fb6d11, #ec1a3f, #c4005e, #840076, #06067e); box-shadow:0 0 0 1px #4EFB11 inset, 0 0 0 2px rgba(255,255,255,0.15) inset, 0 8px 2px 0 #4EFB11, 0 8px 8px 1px rgba(0,0,0,0.5); } .btn3:active { box-shadow:0 0 0 1px #9a00cd inset, 0 0 0 1px rgba(255,255,255,0.15) inset, 0 1px 3px 1px rgba(0,0,0,0.3); transform: translate(0px,10px); } .textIn3 { font-size: 1.1em; background-image: linear-gradient(to right bottom, #11fbf1, #00ffd5, #00ffab, #00ff73, #4efb11); left:-100%; } button:hover .textOut3 { left: 100%; } button:hover .textIn3 { left: 0%; } .btn4 { border-radius:30px 30px 30px; background-image: linear-gradient(to bottom, #fb1b11, #ff003c, #ff005e, #ff007f, #fb119f); box-shadow:0 0 0 1px #08080B inset, 0 0 0 2px rgba(255,255,255,0.15) inset, 0 8px 2px 0 #08080B, 0 8px 8px 1px rgba(0,0,0,0.5); } .btn4:active { box-shadow:0 0 0 1px #9a00cd inset, 0 0 0 1px rgba(255,255,255,0.15) inset, 0 1px 3px 1px rgba(0,0,0,0.3); transform: translate(0px,10px); } .textIn4 { font-size: 1.1em; background-image: radial-gradient(circle, #fbfb0f, #ff953e, #bf5060, #55304e, #08080b); top:-110%; } button:hover .textOut4 { top: 100%; } button:hover .textIn4 { top: 0%; }

Related: See More


Questions / Comments: