JSFiddle - React, Tailwind, and code Playground
by Sergey Goryachev
HTML
<nav>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Price</a>
<a href="#">Contacts</a>
</nav>
CSS
html {
width: 100%;
height: 100%;
}
body {
position: relative;
width: 100%;
height: 100%;
}
nav {
display: flex;
flex-direction: column;
width: 100px;
justify-content: center;
align-items: center;
align-content: center;
left: 50%;
top: 25%;
transform: translate(-50%) rotate(-35deg) skew(25deg, 0deg);
position: absolute;
}
nav a {
background: #000;
color: #fff;
line-height: 50px;
width: 100px;
padding: 0 15px;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
align-content: center;
position: relative;
transition: all .5s ease;
z-index: 2;
}
nav a:before, nav a:after {
content: "";
position: absolute;
width: 10px;
height: 100%;
top: 5px;
left: -10px;
background: orange;
transform: skew(0deg, -45deg);
z-index: 1;
transition: all .5s ease;
}
nav a:after {
width: 100%;
height: 10px;
top: 50px;
left: -5px;
transform: skew(-45deg, 0deg);
}
nav a:hover {
transform: translateX(10px) translateY(-10px);
}
nav a:hover:before {
width: 20px;
left: -20px;
top: 10px;
}
nav a:hover:after {
height: 20px;
left: -10px;
}