<div class="page-wrapper">
<div class="card">
<div class="card-packaging bg-img-base" style="background-image: url(https://media2.giphy.com/media/oQDXk8N4MSoY8/giphy.gif?cid=790b76115cd8c35a3354493973d4ea65&rid=giphy.gif)">
<div class="card-center">
<a class="close bg-img-base" href="#" style="background-image: url(https://cdn3.iconfinder.com/data/icons/pyconic-icons-1-2/512/close-circle-512.png)"></a>
</div>
<div class="card--first">
<div class="card-wrapper bg-img-base front" style="background-image: url(https://media1.giphy.com/media/FrfvK9FJUynFC/giphy.gif?cid=790b76115cd8c25f434d444955e4a1a0&rid=giphy.gif)">
<a class="open" href="#">
<div class="open-tail"></div>
<div class="open-main"><span class="open-title">Open</span></div>
</a>
</div>
<div class="card-wrapper bg-img-base back" style="background-image: url(http://mochimochiland.com/images/knittinggnome600.gif)">
</div>
</div>
<div class="card--third">
<div class="card-wrapper bg-img-base front" style="background-image: url(https://media2.giphy.com/media/eCxL0w1RAh9iE/giphy.gif?cid=790b76115cd8c2f874725a6b730f98a1&rid=giphy.gif)"></div>
<div class="card-wrapper bg-img-base back" style="background-image: url(https://media1.giphy.com/media/1dJtV4AEBrAAkohZIc/giphy.gif?cid=790b76115cd8c3e34a6136346bc8be32&rid=giphy.gif)"></div>
</div>
</div>
</div>
</div>
* {
margin: 0;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
.bg-img-base {
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.page-wrapper {
background: linear-gradient(120deg, #d83c3c, #d6d64c, #105810);
padding-top: 100px;
min-height: 100vh;
}
.card-center {
position: relative;
min-height: 500px;
}
.card-packaging {
width: 30%;
display: block;
margin: 0 auto;
position: relative;
min-height: 500px;
box-shadow: 0 0 6px 2px #926c6c;
}
.card .open {
display: inline-block;
position: absolute;
top: 50%;
transform: translateY(-50%);
right: -7px;
transition: .3s;
border-bottom: 1px solid white;
border-top: 1px solid white;
}
.card .open:hover {
right: -10px;
transition: .3s;
}
.card .open-tail {
position: relative;
height: 36px;
width: 30px;
float: left;
}
.card .open-tail:before {
content: '';
display: block;
border-top: 18px solid #d24242;
border-left: 30px solid transparent;
position: absolute;
left: 0;
top: 0;
}
.card .open-tail:after {
content: '';
display: block;
position: absolute;
top: 18px;
left: 0;
border-top: 18px solid transparent;
border-right: 30px solid #d24242;
}
.card .open-main {
display: inline-block;
line-height: 36px;
background: #d24242;
padding: 0 3px 0 0;
}
.card .open-title {
display: inline-block;
line-height: 30px;
border-top: 1px dashed white;
border-bottom: 1px dashed white;
padding: 0 15px;
color: white;
text-transform: uppercase;
font-weight: 700;
}
.card--first,
.card--third {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
transform-origin: left;
transition: all .9s;
transform-style: preserve-3d;
z-index: 2;
box-shadow: 2px 0 6px 2px #926c6c;
}
.card--first {
transition-delay: .4s;
}
.card--third {
z-index: 1;
transform-origin: right;
transition: all .9s;
box-shadow: -2px 0 6px 2px #926c6c;
}
.card-packaging.is-open .card--first {
transform: rotateY(180deg);
transition: all .9s;
}
.card-packaging.is-open .card--third {
transform: rotateY(180deg);
transition: all .9s;
transition-delay: .4s;
}
.card-wrapper {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
padding: 15px 25px;
}
.card-wrapper.back {
transform: rotateY(180deg);
}
.close {
width: 30px;
height: 30px;
display: inline-block;
position: absolute;
top: 10px;
right: 10px;
}
document.addEventListener('DOMContentLoaded', function() {
document.getElementsByClassName('open')[0].addEventListener('click', function () {
document.getElementsByClassName('card-packaging')[0].classList.add('is-open')
})
document.getElementsByClassName('close')[0].addEventListener('click', function () {
document.getElementsByClassName('card-packaging')[0].classList.remove('is-open')
})
});
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.