Skip to content

Instantly share code, notes, and snippets.

@Elirena
Created June 20, 2018 11:09
Show Gist options
  • Save Elirena/986d5268d26c1e23d81e32872246f10d to your computer and use it in GitHub Desktop.
Save Elirena/986d5268d26c1e23d81e32872246f10d to your computer and use it in GitHub Desktop.
Button Hover – Typewriter
<div class="wrapper">
<span id="email">
<a href="">
<p>[email protected]</p>
<span class="cursor">|</span>
<span class="button">work with us</span>
</a>
</span>
</div>
@import 'https://fonts.googleapis.com/css?family=Open+Sans';
* {
font-family: 'Open Sans', sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
margin: 0 auto;
box-sizing: border-box;
-webkit-box-sizing: border-box;
}
html,body{
width:100%;
height:100%;
overflow:hidden;
background-color: rgb(19,19,19);
}
.wrapper{
width:400px;
height:50px;
position:absolute;
top:50%;
margin-top:-25px;
left:0;
right:0;
}
#email{
font-size:24px;
color: rgba(255,255,255,.87);
letter-spacing:.25px;
font-weight:700;
}
#email .cursor{
-webkit-transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1);
transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1);
animation: blinker 1s linear infinite;
color:#f8c332;
}
#email:hover .button{
opacity:0;
}
#email p {
width: 0em;
white-space:nowrap;
overflow:hidden;
display:inline-block;
bottom:-8px;
position:relative;
}
#email a{
display:inline-block;
-webkit-transition: all 200ms cubic-bezier(0.23, 1, 0.32, 1);
transition: all 200ms cubic-bezier(0.23, 1, 0.32, 1);
color: rgba(255,255,255,.87);
text-decoration:none;
}
#email span{
display:inline-block;
position:relative;
}
#email:hover p {
width: 7.55em;
white-space:nowrap;
overflow:hidden;
-webkit-animation: type .75s steps(40, end);
animation: type .75s steps(40, end);
}
/*KEYFRAME ANIMATION*/
@keyframes type{
from { width: 0; }
}
@-webkit-keyframes type{
from { width: 0; }
}
@keyframes blinker {
50% { opacity: 0.0; }
}
@-webkit-keyframes blinker{
50% { opacity: 0.0; }
}
@-moz-keyframes blinker{
50% { opacity: 0.0; }
}
@-o-keyframes blinker{
50% { opacity: 0.0; }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment