Hoe te maken: vouwbare zijbalk

Leer hoe je een vouwbare zijbalkmenu maakt.

Klik op de knop om de vouwbare zijbalk te openen:

Try it yourself

Maak een vouwbare zijbalk

Eerste stap - Voeg HTML toe:

<div id="mySidebar" class="sidebar">
  <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
  <a href="#">Over</a>
  <a href="#">Diensten</a>
  <a href="#">Klanten</a>
  <a href="#">Contact</a>
</div>
<div id="main">
  <button class="openbtn" onclick="openNav()">☰ Open zijbalk</button>
  <h2>Gevouwen zijbalk</h2>
  <p>Inhoud...</p>
</div>

Tweede stap - Voeg CSS toe:

/* Menu in de zijbalk */
.sidebar {
  height: 100%; /* 100% volledige hoogte */
  width: 0; /* 0 breedte - pas dit instelling met JavaScript aan */
  position: fixed; /* Blijf op de oorspronkelijke positie */
  z-index: 1; /* Blijf bovenaan */
  top: 0;
  left: 0;
  background-color: #111; /* Zwart */
  overflow-x: hidden; /* Schakel horizontale scrolling uit */
  padding-top: 60px; /* Plaats de inhoud 60px van de top af */
  transition: 0.5s; /* 0.5 seconden overgangseffect om de zijbalk te schuiven */
}
/* Links in de zijbalk */
.sidebar a {
  padding: 8px 8px 8px 32px;
  text-decoration: none;
  font-size: 25px;
  color: #818181;
  display: block;
  transition: 0.3s;
}
/* Wanneer je de muis over een navigatielink houdt, verander de kleur ervan */
.sidebar a:hover {
  color: #f1f1f1;
}
/* Positie en stijl van de sluitknop (rechtsbovenhoek) */
.sidebar .closebtn {
  position: absolute;
  top: 0;
  right: 25px;
  font-size: 36px;
  margin-left: 50px;
}
/* Knop voor het openen van de zijbalk */
.openbtn {
  font-size: 20px;
  cursor: pointer;
  background-color: #111;
  color: white;
  padding: 10px 15px;
  border: none;
}
.openbtn:hover {
  background-color: #444;
}
/* Stel de stijl van de pagina-inhoud in - als u de pagina-inhoud naar rechts wilt schuiven bij het openen van de zijbalk-navigatie, gebruik dan deze stijl */
#main {
  transition: margin-left .5s; /* Als u een overgangseffect wilt */
  padding: 20px;
}
/* Pas de stijl van de zijbalk aan op kleine schermen met een hoogte kleiner dan 450 pixels (verklein de binnenafstand en de lettergrootte) */
@media screen and (max-height: 450px) {
  .sidebar {padding-top: 15px;}
  .sidebar a {font-size: 18px;}
}

Derde stap - Voeg JavaScript toe:

/* Stel de breedte van de zijbalk in op 250px en de linker buitenduiding van de pagina-inhoud in op 250px */
function openNav() {
  document.getElementById("mySidebar").style.width = "250px";
  document.getElementById("main").style.marginLeft = "250px";
}
/* Stel de breedte van de zijbalk in op 0 en de linker buitenduiding van de pagina-inhoud in op 0 */
function closeNav() {
  document.getElementById("mySidebar").style.width = "0";
  document.getElementById("main").style.marginLeft = "0";
}

Try it yourself

Related pages

Tutorial:CSS navigation bar