JSFiddle - React, Tailwind, and code Playground
by nkovacs
HTML
<ul class="sidebar_menu">
<li><a href="#" class="sidebar_item">Home</a></li>
<li><a href="#" class="sidebar_item">About</a></li>
<li><a href="#" class="sidebar_item">Services</a></li>
<li><a href="#" class="sidebar_item">Projects</a></li>
<li><a href="#" class="sidebar_item">Contact</a></li>
</ul>
CSS
.sidebar_menu {
padding: 0;
width:200px;
background: #050306;
}
.sidebar_menu li {
list-style-type: none;
/*background: #b31130;*/
position:relative;
z-index: 1;
}
.sidebar_menu .sidebar_item {
padding: 0.5em;
position: relative;
display:block;
overflow-x:hidden;
color:white;
text-decoration: none;
}
.sidebar_menu .sidebar_item:before {
background: #92132b;
content: "";
display: block;
position: absolute;
z-index:-2;
top:0;
left:-160%;
width: 150%;
height: 100%;
transform:skewX(-45deg);
-ms-transform:skewX(-45deg); /* IE 9 */
-moz-transform:skewX(-45deg); /* Firefox */
-webkit-transform:skewX(-45deg); /* Safari and Chrome */
-o-transform:skewX(-45deg); /* Opera */
transition: left 0.2s ease-in-out;
-moz-transition: left 0.2s ease-in-out; /* Firefox 4 */
-webkit-transition: left 0.2s ease-in-out; /* Safari and Chrome */
-o-transition: left 0.2s ease-in-out; /* Opera */
}
.sidebar_menu .sidebar_item:after {
background: #b31130;
content: "";
display: block;
position: absolute;
z-index:-1;
top:0;
left:-160%;
width: 150%;
height: 100%;
transform:skewX(-45deg);
-ms-transform:skewX(-45deg); /* IE 9 */
-moz-transform:skewX(-45deg); /* Firefox */
-webkit-transform:skewX(-45deg); /* Safari and Chrome */
-o-transform:skewX(-45deg); /* Opera */
transition: left 0.3s ease-in-out;
-moz-transition: left 0.3s ease-in-out; /* Firefox 4 */
-webkit-transition: left 0.3s ease-in-out; /* Safari and Chrome */
-o-transition: left 0.3s ease-in-out; /* Opera */
}
.sidebar_menu .sidebar_item:hover:before {
left:-10%;
}
.sidebar_menu .sidebar_item:hover:after {
left:-70%;
}