Animated Button Circle
by Marcel Ferdinand
HTML
<div class='page'>
<div class='content'>
<div class='circle'>
<div class='circle_title'>
<h2>Test 1</h2>
</div>
<div class='circle_inner'>
<div class='circle_inner__layer'>
<img src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/pc1.png'>
</div>
<div class='circle_inner__layer'>
<img src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/pc3.png'>
</div>
<div class='circle_inner__layer'>
<img src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/pc2.png'>
</div>
</div>
<div class='content_shadow'></div>
</div>
</div>
<div class='content'>
<div class='circle'>
<div class='circle_title'>
<h2>Test 2</h2>
</div>
<div class='circle_inner'>
<div class='circle_inner__layer'>
<img src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/pc4.png'>
</div>
<div class='circle_inner__layer'>
<img src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/pc5.png'>
</div>
<div class='circle_inner__layer'>
<img src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/pc6.png'>
</div>
</div>
<div class='content_shadow'></div>
</div>
</div>
<div class='content'>
<div class='circle'>
<div class='circle_title'>
<h2>Test 3</h2>
</div>
<div class='circle_inner'>
<div class='circle_inner__layer'>
<img src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/pc7.png'>
</div>
<div class='circle_inner__layer'>
<img src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/pc8.png'>
</div>
<div class='circle_inner__layer'>
<img src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/pc9.png'>
</div>
</div>
<div class='content_shadow'></div>
</div>
</div>
</div>
CSS
@import url(https://fonts.googleapis.com/css?family=Nunito:400,700,300);
* {
box-sizing: border-box;
}
body {
font-family: 'Nunito', sans-serif;
}
body .page {
margin: 0 auto;
width: 920px;
}
body .content {
width: 33.33%;
display: inline-block;
margin: 0 auto;
position: relative;
height: 100vh;
max-width: 300px;
}
body .circle_inner__layer {
width: 600px;
height: 200px;
-webkit-transition: all .4s;
transition: all .4s;
position: absolute;
top: 0;
left: -200px;
}
body .circle_inner__layer img {
width: 100%;
position: absolute;
bottom: 0;
}
body .circle {
position: absolute;
left: 0;
right: 0;
margin: auto;
top: 50%;
width: 200px;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
-webkit-transition: all .5s;
transition: all .5s;
cursor: pointer;
}
body .circle:hover .circle_shine {
top: 330px;
left: -200px;
}
body .circle_shine {
background: white;
width: 600px;
-webkit-transition: .3s;
transition: .3s;
height: 200px;
opacity: 0.2;
top: -10px;
left: -90px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
position: absolute;
z-index: 2;
}
body .circle:hover h2, body .circle:hover h3 {
opacity: 1;
top: -36px;
}
body .circle:hover .content_shadow {
-webkit-transform: scale(1.1);
transform: scale(1.1);
top: -22px;
}
body .circle:hover h3 {
-webkit-transition: all .2s .04s;
transition: all .2s .04s;
}
body .circle:hover h2 {
-webkit-transition: all .2s;
transition: all .2s;
}
body .circle .circle_inner__layer:nth-of-type(1) {
top: 0px;
left: 0px;
}
body .circle .circle_inner__layer:nth-of-type(2) {
top: 0px;
left: -210px;
}
body .circle .circle_inner__layer:nth-of-type(3) {
top: 0px;
left: -440px;
}
body .circle_title {
text-align: center;
}
body .circle_title h2, body .circle_title h3 {
opacity: 0;
color: #4A7479;
margin: 0;
-webkit-transition: all .2s .04s;
transition: all .2s .04s;
...