如何创建:垂直标签页

学习如何使用 CSS 和 JavaScript 创建垂直标签页菜单。

垂直标签页

标签页非常适合单页 Web 应用程序或能够显示不同主题的网页。

London

London is the capital city of England.

Paris

Paris is the capital of France.

Tokyo

Tokyo jest stolicą Japonii.

Spróbuj sam

Stwórz włączane pionowe zakładki

Krok 1 - Dodaj 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 jest stolicą Anglii.</p>
</div>
<div id="Paris" class="tabcontent">
  <h3>Paris</h3>
  <p>Paris jest stolicą Francji.</p>
</div>
<div id="Tokyo" class="tabcontent">
  <h3>Tokyo</h3>
  <p>Tokyo jest stolicą Japonii.</p>
</div>

Stwórz przyciski otwierające określoną zawartość zakładki. Wszystkie z class="tabcontent" z <div> Elementy są domyślnie ukryte (przez CSS i JS). Kiedy użytkownik kliknie przycisk, otworzy on zawartość zakładki "pasującą" do tego przycisku.

Krok 2 - Dodaj CSS:

Ustawienia stylu dla przycisków i zawartości zakładek:

* {box-sizing: border-box}
/* Stylizacja zakładek */
.tab {
  float: left;
  border: 1px solid #ccc;
  background-color: #f1f1f1;
  width: 30%;
  height: 300px;
}
/* Ustawienia stylu dla przycisków otwierających zawartość zakładek */
.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;
}
/* Zmień kolor tła przycisku przy najechaniu na niego */
.tab button:hover {
  background-color: #ddd;
}
/* Utwórz klasę "aktywna/torrentyjna" dla przycisków zakładek */
.tab button.active {
  background-color: #ccc;
}
/* Ustaw styl treści zakładki */
.tabcontent {
  float: left;
  padding: 0px 12px;
  border: 1px solid #ccc;
  width: 70%;
  border-left: none;
  height: 300px;
}

Krok 3 - Dodaj JavaScript:

function openCity(evt, cityName) {
  // Zadeklaruj wszystkie zmienne
  var i, tabcontent, tablinks;
  // Uzyskaj wszystkie elementy z klasą "tabcontent" i ukryj je
  tabcontent = document.getElementsByClassName("tabcontent");
  for (i = 0; i < tabcontent.length; i++) {
    tabcontent[i].style.display = "none";
  }
  // Uzyskaj wszystkie elementy z klasą "tablinks" i usuń klasę "aktywna"
  tablinks = document.getElementsByClassName("tablinks");
  for (i = 0; i < tablinks.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" aktywna", "");
  }
  // Wyświetl bieżącą zakładkę i dodaj klasę "aktywna" do linku otwierającego zakładkę
  document.getElementById(cityName).style.display = "block";
  evt.currentTarget.className += " aktywna";
}

Spróbuj sam

Strony związane

Tutorial:Jak tworzyć poziome karty