<a href="#" class="btn">
<span class="text">Text</span>
<span class="flip-front">Front</span>
<span class="flip-back">Back</span>
</a>
body {
color: #313131;
font-size: 18px;
font-weight: 600;
line-height: 1.5;
letter-spacing: 1px;
text-transform: uppercase;
font-family: 'Raleway', sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.btn {
height: 50px;
line-height: 50px;
text-align: center;
position: relative;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
-webkit-transition: all .3s ease-out;
-o-transition: all .3s ease-out;
transition: all .3s ease-out;
}
.text {
padding: 0 50px;
visibility: hidden;
}
.flip-front,
.flip-back {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
-webkit-transform-style: flat;
transform-style: flat;
-webkit-transition: -webkit-transform .3s ease-out;
-o-transition: -o-transform .3s ease-out;
transition: transform .3s ease-out;
}
.flip-front {
color: #313131;
border: 2px solid #313131;
background-color: transparent;
-webkit-transform: rotateX(0deg) translateZ(25px);
-ms-transform: rotateX(0deg) translateZ(25px);
-o-transform: rotateX(0deg) translateZ(25px);
transform: rotateX(0deg) translateZ(25px);
}
.flip-back {
color: #fff;
background-color: #313131;
border: 2px solid #313131;
-webkit-transform: rotateX(90deg) translateZ(25px);
-ms-transform: rotateX(90deg) translateZ(25px);
-o-transform: rotateX(90deg) translateZ(25px);
transform: rotateX(90deg) translateZ(25px);
}
.btn:hover .flip-front {
-webkit-transform: rotateX(-90deg) translateZ(25px);
-ms-transform: rotateX(-90deg) translateZ(25px);
-o-transform: rotateX(-90deg) translateZ(25px);
transform: rotateX(-90deg) translateZ(25px);
}
.btn:hover .flip-back {
-webkit-transform: rotateX(0deg) translateZ(25px);
-ms-transform: rotateX(0deg) translateZ(25px);
-o-transform: rotateX(0deg) translateZ(25px);
transform: rotateX(0deg) translateZ(25px);
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.