JSFiddle - React, Tailwind, and code Playground
by luka kupunia
HTML
<ul>
<li>
<a class='list-item' href=''>
<i class='icon-reorder'></i>
</a>
</li>
<li>
<a class='list-item' href=''>
<i class='icon-th-large'></i>
</a>
</li>
<li>
<a class='list-item' href=''>
<i class='icon-bar-chart'></i>
</a>
</li>
<li>
<a class='list-item' href=''>
<i class='icon-tasks'></i>
</a>
</li>
<li>
<a class='list-item' href=''>
<i class='icon-bell'></i>
</a>
</li>
<li>
<a class='list-item' href=''>
<i class='icon-archive'></i>
</a>
</li>
<li>
<a class='list-item' href=''>
<i class='icon-comment'></i>
</a>
</li>
<li>
<a class='list-item' href=''>
<i class='icon-sitemap'></i>
</a>
</li>
<li>
<a class='list-item' href=''>
<i class='icon-thumbs-up'></i>
</a>
</li>
<li>
<a class='list-item' href=''>
<i class='icon-tumblr'></i>
</a>
</li>
</ul>
CSS
*,
*:before,
*:after {
box-sizing: border-box;
}
html,
body {
width: 100%;
height: 100%;
}
body {
display: flex;
align-items: center;
justify-content: center;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.clearfix {
zoom: 1;
}
.clearfix:before, .clearfix:after {
content: "\0020";
display: block;
height: 0;
overflow: hidden;
}
.clearfix:after {
clear: both;
}
body {
background: #f2f2f2;
}
ul {
position: relative;
-webkit-transform: rotate(-35deg) skew(20deg, 5deg);
transform: rotate(-35deg) skew(20deg, 5deg);
}
.list-item {
background: #000;
color: #575757;
text-align: center;
height: 2.5em;
width: 4em;
vertical-align: middle;
line-height: 2.5em;
border-bottom: 1px solid #060606;
position: relative;
display: block;
text-decoration: none;
box-shadow: -2em 1.5em 0 #e1e1e1;
transition: all 0.25s linear;
}
.list-item:hover {
background: #ff6e42;
color: #fffcfb;
-webkit-transform: translate(0.9em, -0.9em);
transform: translate(0.9em, -0.9em);
transition: all 0.25s linear;
box-shadow: -2em 2em 0 #e1e1e1;
}
.list-item:hover:before, .list-item:hover:after {
transition: all 0.25s linear;
}
.list-item:hover:before {
background: #b65234;
width: 1em;
top: 0.5em;
left: -1em;
}
.list-item:hover:after {
background: #b65234;
width: 1em;
bottom: -2.5em;
left: 1em;
height: 4em;
}
.list-item:before, .list-item:after {
content: "";
position: absolute;
transition: all 0.25s linear;
width: 0.5em;
}
.list-item:after {
height: 4em;
background: #181818;
bottom: -2.25em;
left: 1.5em;
-webkit-transform: rotate(90deg) skew(0, 45deg);
transform: rotate(90deg) skew(0, 45deg);
}
.list-item:before {
height: 2.5em;
background: #121212;
top: 0.25em;
left: -0.5em;
-webkit-transform: skewY(-45deg);
transform: skewY(-45deg);
}