<div class="container">
<div class="post-card">
<div class="post-card-inner">
<div class="post-card-front">
<div class="egypt">
<div class="sky"></div>
<div class="pyramids"></div>
<div class="bottom">
<div class="text">EGYPT</div>
</div>
</div>
</div>
<div class="post-card-back">
<div class="postCard">POSTCARD</div>
<div class="address">
<p class="name">John Doe</p>
<p class="street">123 Oxford Street</p>
<p class="city">123, London</p>
<p class="country">United Kingdom</p>
</div>
<p class="greetings">Dear John,</br></br>
WISH YOU </br>WERE HERE!</br>Lena, xxx </p>
</div>
</div>
</div>
</div>
body {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
.container {
position: relative;
}
.post-card {
background-color: transparent;
width: 400px;
height: 300px;
perspective: 1000px;
}
.post-card-inner {
position: relative;
width: 100%;
height: 100%;
text-align: center;
transition: transform 0.6s;
transform-style: preserve-3d;
box-shadow: 0 4px 20px rgba(0,0,0,0.2), 10px 18px 20px rgba(0,0,0,0.2);
}
.post-card:hover .post-card-inner {
transform: rotateY(180deg);
}
.post-card-front, .post-card-back {
position: absolute;
width: 100%;
height: 100%;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.post-card-front {
background-color: #e9c46a;
border: 10px solid #fff;
}
.egypt {
position: absolute;
overflow:hidden;
width: 400px;
height: 300px;
}
.sky {
position: absolute;
border-radius:50%;
background-color: #fefae0;
width:100px;
height:100px;
top:30px;
left:230px
}
.sky:before {
content:"";
position: absolute;
width:0;
height:0;
border-left: 390px solid rgba(255,255,255,0.2);
border-top: 30px solid transparent;
border-bottom: 30px solid transparent;
left:-230px;
}
.sky:after {
content:"";
position: absolute;
width:0;
height:0;
border-bottom: 20px solid transparent;
border-top: 20px solid transparent;
border-right: 300px solid rgba(255,255,255,0.2);
top:70px;
left:-170px;
transform: skew(45deg);
}
.pyramids {
position: absolute;
left:-25px;
height:0;
width:0;
border-bottom: 200px solid #f4a261;
border-right: 150px solid transparent;
border-left: 150px solid transparent;
top:90px;
}
.pyramids:before {
content:"";
position: absolute;
height:0;
width:0;
border-bottom: 200px solid rgba(0,0,0,0.2);
border-right: 150px solid transparent;
}
.pyramids:after {
content:"";
position: absolute;
height:0;
width:0;
top:20px;
border-bottom: 200px solid #e76f51;
border-right: 150px solid transparent;
border-left: 150px solid transparent;
}
.bottom {
position: absolute;
width: 400px;
height:50px;
background-color: #264653;
top:250px;
}
.text {
font-size:50px;
color: white;
}
.post-card-back {
background-color: #faedcd;
border: 10px solid #faedcd;
transform: rotateY(180deg);
overflow: hidden;
}
.postCard {
margin-top:30px;
}
.postCard:before {
content:"";
position: absolute;
width:3px;
height:200px;
background-color: #333;
left:200px;
top:70px;
}
.postCard:after {
content:"";
position: absolute;
height:3px;
width:150px;
background-color: #333;
top:150px;
left:230px;
box-shadow: 0 30px #333, 0 60px #333, 0 90px #333;
}
.address {
position: relative;
top:0;
}
.address:before {
content:"";
position: absolute;
width: 60px;
height: 70px;
border: 5px solid #333;
outline-style: dashed;
outline-color: #333;
background-color: #cb997e;
top:-40px;
left:320px;
}
.address:after {
content:"";
position: absolute;
border-radius: 50%;
border-style: dashed;
width: 50px;
height: 50px;
top:10px;
left:290px;
}
.name, .street, .city, .country, .greetings {
font-family: 'Brush Script MT', cursive;
font-size:20px;
position: absolute;
}
.name {
left:250px;
top:60px;
}
.street {
left:250px;
top:90px;
}
.city {
left:250px;
top:120px;
}
.country {
left:250px;
top: 150px;
}
.greetings {
left:40px;
top:100px;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.