<div class="wrapper">
<div class="left">
<div class="front">
<div class="sectionWrap">
<h1>Title</h1>
<hr>
<p class="preview">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.</p>
<button class="openB"><p>read more...</p></button>
</div>
</div>
<div class="back">
<div class="sectionWrap">
<h1>Left</h1>
<hr>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata</p>
</div>
</div>
</div>
<div class="middle">
<div class="sectionWrap">
<h1>Middle</h1>
<hr>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata</p>
</div>
</div>
<div class="right">
<div class="sectionWrap">
<h1>Right</h1>
<hr>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata</p>
</div>
<button class="closeB">✕</button>
</div>
</div>
*{
margin:0;
box-sizing:border-box;
padding:0;
}
html, body{
width:100%;
height:100%;
overflow:hidden;
background-image: linear-gradient(to top, #09203f 0%, #537895 100%);
}
.wrapper{
width:100%;
height:100%;
-webkit-perspective: 2000px;
padding:5%;
perspective: 2000px;
display:flex;
justify-content:center;
align-items:center;
}
.left, .middle, .right{
float:left;
position:relative;
height:100%;
background-color:#fff;
width:33%;
max-width:300px;
max-height:400px;
}
.left, .right{
transition:.7s ease-in-out;
&.open{
transform:rotateY(0deg);
transition:.7s ease-in-out;
}
}
.left{
z-index:20;
transform: rotateY(180deg);
transform-origin:100% 50%;
}
.right{
transform: rotateY(-180deg);
transform-origin:0% 50%;
}
.front, .back{
height:100%;
width:100%;
position:absolute;
background-color:#fff;
top:0;
}
.front{
transform:rotateY(180deg);
z-index:5;
}
.back{
background-color:#fff;
z-index:4;
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
&.open{
z-index:10;
}
}
.openB{
background-color:transparent;
border:2px solid rgba(0,0,0,0.5);
padding:5px;
position:absolute;
min-width:120px;
max-width:150px;
z-index:50;
bottom:30px;
font-weight:400;
font-size:1em;
opacity:.7;
transition:.2s ease-in-out;
cursor:pointer;
}
.openB:hover{
background-color:rgba(0,0,0,1);
color:white;
transition:.2s ease-in-out;
}
.closeB{
position:absolute;
border:none;
background-color:rgba(0,0,0,0.4);
color:white;
z-index:50;
width:30px;
font-size:1em;
cursor:pointer;
height:30px;
top:10px;
right:10px;
border-radius:50%;
display:none;
}
.closeB:hover{
background-color:rgba(0,0,0,0.2);
transition:.2s ease-in-out;
}
.preview{
max-height:100px;
overflow:hidden;
text-overflow: ellipsis;
content: "";
position:relative;
display:block;
}
.preview:before {
content:'';
width:100%;
height:100%;
position:absolute;
left:0;
top:0;
background:linear-gradient(transparent, white);
}
.sectionWrap{
height:100%;
width:100%;
padding:40px;
box-sizing:border-box;
overflow:hidden;
}
h1{
font-family: 'Playfair Display', serif;
font-size:3em;
line-height:1;
color:#34495e;
}
p{
font-family: 'Josefin Sans', sans-serif;
font-size:1.2em;
max-height:100px;
text-overflow: clip;
}
hr{
border:3px solid #34495e;
width:30px;
margin:12px 0 8px 1px;
text-align:left;
}
View Compiled
$(function(){
$(".openB").click(function(){
$(".left").addClass("open");
setTimeout(function(){
$(".right").addClass("open");
}, 250);
setTimeout(function(){
$(".back").addClass("open");
}, 350);
$(".closeB").delay(1000).fadeIn();
});
$(".closeB").click(function(){
setTimeout(function(){
$(".left").removeClass("open");
}, 250);
$(".right").removeClass("open");
setTimeout(function(){
$(".back").removeClass("open");
}, 600);
$(".closeB").fadeOut();
});
});