JSFiddle - React, Tailwind, and code Playground
by Mahadevan Sivasubramanian
HTML
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w==" crossorigin="anonymous" />
<div class="l-sidebar">
<div class="l-sidebar__content">
<nav class="c-menu js-menu" style="height:568px">
<ul class="u-list">
<li class="c-menu__item is-active" #tooltip="matTooltip" matTooltip="Notitfications" [matTooltipPosition]="position.value">
<div class="c-menu__item__inner"><i class="fas fa-bell"></i>
<div class="c-menu-item__title"><span>Notitfications</span></div>
</div>
</li>
<li class="c-menu__item" #tooltip="matTooltip" matTooltip="Consultation" [matTooltipPosition]="position.value">
<div class="c-menu__item__inner"><i class="fas fa-user-friends"></i>
<div class="c-menu-item__title"><span>Consultation</span></div>
</div>
</li>
<li class="c-menu__item" #tooltip="matTooltip" matTooltip="Patients" [matTooltipPosition]="position.value">
<div class="c-menu__item__inner"><i class="fas fa-hospital-user"></i>
<div class="c-menu-item__title"><span>Patients</span></div>
</div>
</li>
</ul>
</nav>
</div>
</div>
CSS
.u-list {
margin: 0;
padding: 0;
list-style: none;
}
.l-sidebar {
width: 70px;
position: absolute;
z-index: 10;
left: 0;
top: 0;
bottom: 0;
background: #102c58;
-webkit-transition: width 0.5s ease-in-out;
-moz-transition: width 0.5s ease-in-out;
-ms-transition: width 0.5s ease-in-out;
-o-transition: width 0.5s ease-in-out;
transition: width 0.5s ease-in-out;
height:fit-content;
}
.l-sidebar .logo {
width: 100%;
height: 70px;
display: flex;
align-items: center;
justify-content: center;
background-color: #051835;
}
.l-sidebar .logo .logo__txt {
font-size: 26px;
line-height: 1;
color: #fff;
text-align: center;
font-weight: 700;
}
.l-sidebar__content {
height: 100%;
position: relative;
}
.sidebar-is-expanded .l-sidebar {
width: 220px;
}
.c-menu > ul {
display: flex;
flex-direction: column;
}
.c-menu > ul .c-menu__item {
color: #fff;
max-width: 100%;
overflow: hidden;
}
.c-menu > ul .c-menu__item__inner {
display: flex;
flex-direction: row;
align-items: center;
min-height: 60px;
position: relative;
cursor: pointer;
-webkit-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out;
-ms-transition: all 0.5s ease-in-out;
-o-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
}
.c-menu > ul .c-menu__item__inner:before {
position: absolute;
content: " ";
height: 0;
width: 2px;
left: 0;
top: 50%;
margin-top: -18px;
background-color: #5f9cfd;
opacity: 0;
-webkit-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out;
-ms-transition: all 0.5s ease-in-out;
-o-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
}
.c-menu > ul .c-menu__item.is-active .c-menu__item__inner {
border-left-color: #5f9cfd;
background-color: #1e3e6f;
}
.c-menu > ul .c-menu__item.is-active .c-menu__item__inner i {
color: #5f9cfd;
}
.c-menu > ul .c-menu__item.is-active .c-menu__item__inner .c-menu-item__title span {
...