JSFiddle - React, Tailwind, and code Playground
by PhilQ
HTML
<div id="portfolio">
<ul>
<li>
<h3>Project title</h3>
<div></div>
</li>
</ul>
</div>
CSS
*, *:before, *:after {
margin: 0px;
padding: 0px;
box-sizing: border-box;
-o-box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
body {
-webkit-perspective: 1800px;
-ms-perspective: 1800px;
perspective: 1800px;
-webkit-perspective-origin: 50% 50%;
-ms-perspective-origin: 50% 50%;
perspective-origin: 50% 50%;
}
#portfolio {
-webkit-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
transform-style: preserve-3d;
display: block;
margin: 0px auto;
width: 700px;
height: 400px;
background: red;
padding: 10px;
}
#portfolio > ul {
display: inline-block;
position: relative;
width: 100%;
height: 100%;
list-style: none;
}
#portfolio > ul > li {
display: inline-block;
position: relative;
width: 100%;
height: 100%;
}
#portfolio > ul > li > div {
display: inline-block;
position: absolute;
z-index: 10;
width: 100%;
height: 100%;
background-color: #fff;
-ms-transform: rotateX(45px) rotateY(45deg);
-webkit-transform: rotateX(45px) rotateY(45deg);
transform: rotateX(45px) rotateY(45deg);
}
#portfolio > ul > li > h3 {
display: inline-block;
position: absolute;
z-index: 11;
width: 100%;
}