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%;
}