Wie erstelle ich: Vertikale Registerkarten

Lernen Sie, wie Sie mit CSS und JavaScript vertikale Registerkarten-Menüs erstellen.

Vertikale Registerkarten

Registerkarten sind sehr gut geeignet für Einzelseiten-Webanwendungen oder Webseiten, die verschiedene Themen anzeigen können.

London

London ist die Hauptstadt von England.

Paris

Paris ist die Hauptstadt von Frankreich.

Tokyo

Tokyo is the capital of Japan.

亲自试一试

Create a collapsible vertical tab

Step 1 - Add 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>

Create buttons to open specific tab content. All with class="tabcontent" of <div> Elements are all hidden by default (through CSS and JS). When the user clicks a button, it will open the tab content that matches the button.

Step 2 - Add CSS:

Set the style for the button and tab content:

* {box-sizing: border-box}
/* Style the tab */
.tab {
  float: left;
  border: 1px solid #ccc;
  background-color: #f1f1f1;
  width: 30%;
  height: 300px;
}
/* Style for the button used to open the tab content */
.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;
}
/* 更改悬停时按钮的背景颜色 */
.tab button:hover {
  background-color: #ddd;
}
/* 创建活动/当前的“标签页按钮”类 */
.tab button.active {
  background-color: #ccc;
}
/* 设置标签页内容的样式 */
.tabcontent {
  float: left;
  padding: 0px 12px;
  border: 1px solid #ccc;
  width: 70%;
  border-left: none;
  height: 300px;
}

Dritter Schritt - Fügen Sie JavaScript hinzu:

function openCity(evt, cityName) {
  // 声明所有变量
  var i, tabcontent, tablinks;
  // 获取所有带有 class="tabcontent" 的元素并隐藏它们
  tabcontent = document.getElementsByClassName("tabcontent");
  for (i = 0; i < tabcontent.length; i++) {
    tabcontent[i].style.display = "none";
  }
  // 获取所有带有 class="tablinks" 的元素并删除 "active" 类
  tablinks = document.getElementsByClassName("tablinks");
  for (i = 0; i < tablinks.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" active", "");
  }
  // 显示当前标签页,并向打开标签页的链接添加 "active" 类
  document.getElementById(cityName).style.display = "block";
  evt.currentTarget.className += " active";
}

亲自试一试

相关页面

教程:如何创建水平标签页