<div class="card flip-vertical">
<div class="front" style="background-image: url(https://images.pexels.com/photos/38136/pexels-photo-38136.jpeg?w=1260&h=750&dpr=2&auto=compress&cs=tinysrgb)">
<h1 class="text-shadow">Card One</hi>
</div>
<div class="back">
<h2>Heading</h2>
<p>Provident consectetur natus voluptatem quis tenetur sed beatae eius sint.</p>
</div>
</div>
<div class="card flip-vertical">
<div class="front" style="background-image: url(https://images.pexels.com/photos/34950/pexels-photo.jpg?w=1260&h=750&dpr=2&auto=compress&cs=tinysrgb)">
<h1 class="text-shadow">Card Two</hi>
</div>
<div class="back">
<h2>Heading</h2>
<p>Provident consectetur natus voluptatem quis tenetur sed beatae eius sint.</p>
</div>
</div>
@import url('https://fonts.googleapis.com/css?family=Roboto+Mono');
* {
box-sizing: border-box;
font-weight: normal;
}
body {
color: #555;
background: hsl(222,50%,95%);
text-align: center;
font-family: 'Roboto Mono';
padding: 1em;
}
h1 {
font-size: 2.2em;
}
// base
.card {
position: relative;
>.front,
>.back {
display: block;
transition-timing-function: cubic-bezier(.175, .885, .32, 1.275);
transition-duration: .5s;
transition-property: transform, opacity;
}
>.front {
transform: rotateY(0deg);
}
>.back {
position: absolute;
opacity: 0;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
transform: rotateY(-180deg);
}
&:hover {
>.front {
transform: rotateY(180deg);
}
>.back {
opacity: 1;
transform: rotateY(0deg);
}
}
&.flip-vertical {
>.back {
transform: rotateX(-180deg);
}
&:hover {
>.front {
transform: rotateX(180deg);
}
>.back {
transform: rotateX(0deg);
}
}
}
}
// custom
.card {
position: relative;
display: inline-block;
margin-right: 2px;
margin-bottom: 1em;
width: 400px;
>.front,
>.back {
display: block;
color: white;
width: inherit;
background-size: cover!important;
background-position: center!important;
height: 220px;
padding: 1em 2em;
background: #313131;
border-radius: 10px;
p {
font-size: 0.9125rem;
line-height: 160%;
color: #999;
}
}
}
.text-shadow {
text-shadow: 1px 1px rgba(0, 0, 0, 0.04), 2px 2px rgba(0, 0, 0, 0.04), 3px 3px rgba(0, 0, 0, 0.04), 4px 4px rgba(0, 0, 0, 0.04), 0.125rem 0.125rem rgba(0, 0, 0, 0.04), 6px 6px rgba(0, 0, 0, 0.04), 7px 7px rgba(0, 0, 0, 0.04), 8px 8px rgba(0, 0, 0, 0.04), 9px 9px rgba(0, 0, 0, 0.04), 0.3125rem 0.3125rem rgba(0, 0, 0, 0.04), 11px 11px rgba(0, 0, 0, 0.04), 12px 12px rgba(0, 0, 0, 0.04), 13px 13px rgba(0, 0, 0, 0.04), 14px 14px rgba(0, 0, 0, 0.04), 0.625rem 0.625rem rgba(0, 0, 0, 0.04), 16px 16px rgba(0, 0, 0, 0.04), 17px 17px rgba(0, 0, 0, 0.04), 18px 18px rgba(0, 0, 0, 0.04), 19px 19px rgba(0, 0, 0, 0.04), 1.25rem 1.25rem rgba(0, 0, 0, 0.04);
}
View Compiled
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.