Hoe te maken: Verticale tabbladen

Leer hoe je een verticale tabbladmenu maakt met CSS en JavaScript.

Verticale tabbladen

Een tabblad is zeer geschikt voor eenzijdige webtoepassingen of webpagina's die verschillende onderwerpen kunnen weergeven.

Londen

Londen is de hoofdstad van Engeland.

Parijs

Parijs is de hoofdstad van Frankrijk.

Tokyo

Tokyo is the capital of Japan.

Try it yourself

创建可切换的垂直标签页

第一步 - 添加 HTML:

<div class="tab">
  <button class="tablinks" onclick="openCity(event, 'London')">London</button>
  <button class="tablinks" onclick="openCity(event, 'Paris')">Paris</button>
  <button class="tablinks" onclick="openCity(event, 'Tokyo')">Tokyo</button>
</div>
<div id="London" class="tabcontent">
  <h3>London</h3>
  <p>London is the capital city of England.</p>
</div>
<div id="Paris" class="tabcontent">
  <h3>Paris</h3>
  <p>Paris is the capital of France.</p>
</div>
<div id="Tokyo" class="tabcontent">
  <h3>Tokyo</h3>
  <p>Tokyo is the capital of Japan.</p>
</div>

创建按钮以打开特定的标签页内容。所有带有 class="tabcontent"<div> 元素默认都是隐藏的(通过 CSS 和 JS)。当用户点击按钮时,它将打开与该按钮“匹配”的标签页内容。

第二步 - 添加 CSS:

设置按钮和标签页内容的样式:

* {box-sizing: border-box}
/* Style the tab */
.tab {
  float: left;
  border: 1px solid #ccc;
  background-color: #f1f1f1;
  width: 30%;
  height: 300px;
}
/* 设置用于打开标签页内容的按钮的样式 */
.tab button {
  display: block;
  background-color: inherit;
  color: black;
  padding: 22px 16px;
  width: 100%;
  border: none;
  outline: none;
  text-align: left;
  cursor: pointer;
  transition: 0.3s;
}
/* Verandert de achtergrondkleur van de knop bij hover */
.tab button:hover {
  background-color: #ddd;
}
/* Maakt de actieve/tijdens gebruik "tab knop" klasse */
.tab button.active {
  background-color: #ccc;
}
/* Stelt stijl van tabbladinhoud in */
.tabcontent {
  float: left;
  padding: 0px 12px;
  border: 1px solid #ccc;
  width: 70%;
  border-left: none;
  height: 300px;
}

Derde stap - Voeg JavaScript toe:

function openCity(evt, cityName) {
  // Declaraaties van alle variabelen
  var i, tabcontent, tablinks;
  // Haalt alle elementen met class="tabcontent" op en verbergt deze
  tabcontent = document.getElementsByClassName("tabcontent");
  for (i = 0; i < tabcontent.length; i++) {
    tabcontent[i].style.display = "none";
  }
  // Haalt alle elementen met class="tablinks" op en verwijdert de "active" klasse
  tablinks = document.getElementsByClassName("tablinks");
  for (i = 0; i < tablinks.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" active", "");
  }
  // Toont huidige tabblad en voegt "active" klasse toe aan de link van het geopende tabblad
  document.getElementById(cityName).style.display = "block";
  evt.currentTarget.className += " active";
}

Try it yourself

Related pages

Tutorial:How to create horizontal tabs