How to create responsive sidebar

Building responsive sidebar navigations for mega dashboards and websites is never an easy task. If you’re working on an admin panel, chances are you’ll need to design and develop a vertical menu, with plenty of sub-categories. That’s why we decided to share today’s Responsive sidebar navigation that can make your life easier by providing a starting, simple code and project.


<!DOCTYPE html>
<meta name="viewport" content="width=device-width, initial-scale=1.0">


<div class="sidebar">
  <a class="active" href="#home">Home</a>
  <a href="#news">News</a>
  <a href="#contact">Contact</a>
  <a href="#about">About</a>

<div class="content">
  <h2>Responsive Sidebar Example</h2>
  <p>This example use media queries to transform the sidebar to a top navigation bar when the screen size is 700px or less.</p>
  <p>We have also added a media query for screens that are 400px or less, which will vertically stack and center the navigation links.</p>
  <h3>Resize the browser window to see the effect.</h3>



@import url(',wght@0,300;0,400;0,500;0,600;1,300;1,700;1,800&display=swap');
body {
  margin: 0;
  font-family: 'Rubik', sans-serif;

.sidebar {
  margin: 0;
  padding: 0;
  width: 200px;
  background-color: #f1f1f1;
  position: fixed;
  height: 100%;
  overflow: auto;

.sidebar a {
  display: block;
  color: black;
  padding: 16px;
  text-decoration: none;
.sidebar {
  background-color: #04AA6D;
  color: white;

.sidebar a:hover:not(.active) {
  background-color: #555;
  color: white;

div.content {
  margin-left: 200px;
  padding: 1px 16px;
  height: 1000px;

@media screen and (max-width: 700px) {
  .sidebar {
    width: 100%;
    height: auto;
    position: relative;
  .sidebar a {float: left;}
  div.content {margin-left: 0;}

@media screen and (max-width: 400px) {
  .sidebar a {
    text-align: center;
    float: none;


See the Pen
by Viewtech (@Viewtech)
on CodePen.

Leave a Reply

Your email address will not be published. Required fields are marked *