JSFiddle - React, Tailwind, and code Playground
by Abdul Ahmad
HTML
<div class='app'>
<div class='primary-menu'>
<div class='primary-menu-logo'>
ICANotes
</div>
<div>
<div class='primary-menu-item'>
<div class='text'>
Dashboard
</div>
<div class='primary-menu__submenu'>
<div class='primary-menu-item'>
<div class='text'>
Personal
</div>
</div>
<div class='primary-menu-item'>
<div class='text'>
Practice
</div>
</div>
</div>
</div>
<div class='primary-menu-item'>
<div class='text'>
Calendar
</div>
</div>
<div class='primary-menu-item'>
<div class='text'>
Charts
</div>
</div>
<div class='primary-menu-item'>
<div class='text'>
Messages
</div>
</div>
<div class='primary-menu-item'>
<div class='text'>
Contacts
</div>
</div>
<div class='primary-menu-item'>
<div class='text'>
Billing
</div>
</div>
</div>
</div>
<div class='dashboard'>
<header class='dashboard-header'>
</header>
<div class='dashboard-widget'>
</div>
</div>
</div>
SCSS
$yellow: #a3a98e;
$background: #f0f3f5;
$backgroundDark: darken($background, 5%);
$primary: #104d6a;
$primaryDark: darken($primary, 5%);
$primaryDarker: darken($primary, 10%);
html, body {
width: 100%;
height: 100%;
margin: 0;
font-family: "Lucida Grande", Helvetica, Arial, sans-serif;
}
.app {
background: $background;
height: 100%;
display: flex;
}
.primary-menu {
width: 300px;
height: 100%;
background: linear-gradient($primary, $primaryDark);
flex-grow: 0;
flex-shrink: 0;
// box-shadow: 5px 0 30px 0 rgba(0, 0, 0, 0.1);
}
.primary-menu__submenu {
background: lighten($primaryDark, 1%);
.primary-menu-item {
.text {
padding-left: 30px;
&:hover {
background: darken($primaryDark, 1%);
}
}
}
}
.primary-menu-item {
color: white;
width: 100%;
box-sizing: border-box;
.text {
padding: 15px 20px;
&:hover {
cursor: pointer;
background: $primaryDark;
}
}
}
.primary-menu-logo {
display: flex;
justify-content: center;
align-items: center;
height: 70px;
font-size: 20px;
font-weight: bold;
border-bottom: 1px solid $primaryDarker;
color: white;
}
// dashboard
.dashboard {
flex-grow: 1;
flex-shrink: 1;
}
.dashboard-header {
height: 70px;
background: white;
border-bottom: 1px solid $backgroundDark;
}
.dashboard-widget {
width: 300px;
height: 300px;
background: white;
margin: 20px;
border-radius: 10px;
border: 1px solid $backgroundDark;
}