body { padding-left: 240px; } main { position: relative; height: 100vh; } .menu { background: #5bc995; height: 100vh; width: 240px; position: fixed; top: 0px; left: 0; z-index: 5; outline: none; } .menu .avatar { background: rgba(0, 0, 0, 0.1); padding: 2em 0.5em; text-align: center; } .menu .avatar img { width: 100px; border-radius: 50%; overflow: hidden; border: 4px solid #ffea92; box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.2); } .menu .avatar h2 { font-weight: normal; margin-bottom: 0; } .menu ul { list-style: none; padding: 0.5em 0; margin: 0; } .menu ul li { padding: 0.5em 1em 0.5em 3em; font-size: 0.95em; font-weight: regular; background-repeat: no-repeat; background-position: left 15px center; background-size: auto 20px; transition: all 0.15s linear; cursor: pointer; } .menu ul li.icon-dashboard { background-image: url("http://www.entypo.com/images//gauge.svg"); } .menu ul li.icon-customers { background-image: url("http://www.entypo.com/images//briefcase.svg"); } .menu ul li.icon-users { background-image: url("http://www.entypo.com/images//users.svg"); } .menu ul li.icon-calendar { background-image: url("http://www.entypo.com/images//calendar.svg"); } .menu ul li:hover { background-color: rgba(0, 0, 0, 0.1); } .menu ul li:focus { outline: none; } @media screen and (max-width: 900px) and (min-width: 400px) { body { padding-left: 90px; } .menu { width: 90px; } .menu .avatar { padding: 0.5em; position: relative; } .menu .avatar img { width: 60px; } .menu .avatar h2 { opacity: 0; position: absolute; top: 50%; left: 100px; margin: 0; min-width: 200px; border-radius: 4px; background: rgba(0, 0, 0, 0.4); transform: translate3d(-20px, -50%, 0); transition: all 0.15s ease-in-out; } .menu .avatar:hover h2 { opacity: 1; transform: translate3d(0px, -50%, 0); } .menu ul li { height: 60px; background-position: center center; background-size: 30px auto; position: relative; } .menu ul li span { opacity: 0; position: absolute; background: rgba(0, 0, 0, 0.5); padding: 0.2em 0.5em; border-radius: 4px; top: 50%; left: 80px; transform: translate3d(-15px, -50%, 0); transition: all 0.15s ease-in-out; } .menu ul li span:before { content: ''; width: 0; height: 0; position: absolute; top: 50%; left: -5px; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-right: 5px solid rgba(0, 0, 0, 0.5); transform: translateY(-50%); } .menu ul li:hover span { opacity: 1; transform: translate3d(0px, -50%, 0); } } @media screen and (max-width: 400px) { body { padding-left: 0; } .menu { width: 230px; box-shadow: 0 0 0 100em rgba(0, 0, 0, 0); transform: translate3d(-230px, 0, 0); transition: all 0.3s ease-in-out; } .menu .smartphone-menu-trigger { width: 40px; height: 40px; position: absolute; left: 100%; background: #5bc995; } .menu .smartphone-menu-trigger:before, .menu .smartphone-menu-trigger:after { content: ''; width: 50%; height: 2px; background: #fff; border-radius: 10px; position: absolute; top: 45%; left: 50%; transform: translate3d(-50%, -50%, 0); } .menu .smartphone-menu-trigger:after { top: 55%; transform: translate3d(-50%, -50%, 0); } .menu ul li { padding: 1em 1em 1em 3em; font-size: 1.2em; } .menu:focus { transform: translate3d(0, 0, 0); box-shadow: 0 0 0 100em rgba(0, 0, 0, 0.6); } .menu:focus .smartphone-menu-trigger { pointer-events: none; } }