Skip to content

Instantly share code, notes, and snippets.

@CodeMyUI
Created March 14, 2018 06:41
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CodeMyUI/469f5b85a722a9f71b86f60b751fedbb to your computer and use it in GitHub Desktop.
Save CodeMyUI/469f5b85a722a9f71b86f60b751fedbb to your computer and use it in GitHub Desktop.
Ghost Button Animation - Dribbble
<div class="flex">
<a href="#0" class="bttn">Continue</a>
</div>
<div class="flex dark">
<a href="#0" class="bttn-dark">Continue</a>
</div>
// Based on Dribbble shot by Nikola Popovic
// https://dribbble.com/shots/2765474-Ghost-Buttons-Animations
@import 'https://fonts.googleapis.com/css?family=Source+Sans+Pro:700';
$font:'Source Sans Pro', sans-serif;
$primary:#FF0072;
$second:#644cad;
$third:#4426a8;
*,
*::before,
*::after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html, body{
height:100%;
width: 100%;
}
body {
padding:0px;
margin:0;
font-family:$font;
background: #F5F0FF;
-webkit-font-smoothing: antialiased;
}
.dark {
background:#24252A;
}
.flex {
min-height:50vh;
display:flex;
align-items:center;
justify-content:center;
}
a.bttn {
color:$primary;
text-decoration:none;
-webkit-transition:0.3s all ease;
transition:0.3s ease all;
&:hover {
color:#FFF;
}
&:focus {
color:#FFF;
}
}
a.bttn-dark {
color:$second;
text-decoration:none;
-webkit-transition:0.3s all ease;
transition:0.3s ease all;
&:hover {
color:#FFF;
}
&:focus {
color:#FFF;
}
}
.bttn {
font-size:18px;
letter-spacing:2px;
text-transform:uppercase;
display:inline-block;
text-align:center;
width:270px;
font-weight:bold;
padding:14px 0px;
border:3px solid $primary;
border-radius:2px;
position:relative;
box-shadow: 0 2px 10px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.1);
&:before {
-webkit-transition:0.5s all ease;
transition:0.5s all ease;
position:absolute;
top:0;
left:50%;
right:50%;
bottom:0;
opacity:0;
content:'';
background-color:$primary;
z-index:-2;
}
&:hover {
&:before {
-webkit-transition:0.5s all ease;
transition:0.5s all ease;
left:0;
right:0;
opacity:1;
}
}
&:focus {
&:before {
transition:0.5s all ease;
left:0;
right:0;
opacity:1;
}
}
}
.bttn-dark {
font-size:18px;
letter-spacing:2px;
text-transform:uppercase;
display:inline-block;
text-align:center;
width:270px;
font-weight:bold;
padding:14px 0px;
border:3px solid $second;
border-radius:2px;
position:relative;
box-shadow: 0 2px 10px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.1);
z-index:2;
&:before {
-webkit-transition:0.5s all ease;
transition:0.5s all ease;
position:absolute;
top:0;
left:50%;
right:50%;
bottom:0;
opacity:0;
content:'';
background-color:$second;
z-index:-1;
}
&:hover {
&:before {
-webkit-transition:0.5s all ease;
transition:0.5s all ease;
left:0;
right:0;
opacity:1;
}
}
&:focus {
&:before {
-webkit-transition:0.5s all ease;
transition:0.5s all ease;
left:0;
right:0;
opacity:1;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment