Cara membuat: Tab halaman vertikal

Belajar cara menggunakan CSS dan JavaScript untuk membuat menu tab halaman vertikal.

Tab halaman vertikal

Tab halaman sangat cocok untuk aplikasi Web tunggal atau halaman web yang dapat menampilkan subjek berbeda.

London

London adalah ibu kota Inggris.

Paris

Paris adalah ibu kota Perancis.

Tokyo

Tokyo adalah ibu kota Jepun.

亲自试一试

Cipta tab vertikal yang boleh diubah suai

Tahap pertama - Tambahkan 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 adalah ibu kota England.</p>
</div>
<div id="Paris" class="tabcontent">
  <h3>Paris</h3>
  <p>Paris adalah ibu kota Perancis.</p>
</div>
<div id="Tokyo" class="tabcontent">
  <h3>Tokyo</h3>
  <p>Tokyo adalah ibu kota Jepun.</p>
</div>

Cipta butang untuk membuka kandungan tab yang khusus. Semua yang mempunyai class="tabcontent" dari <div> Elemen secara lalai adalah tersembunyi (melalui CSS dan JS). Apabila pengguna mengklik butang, ia akan membuka kandungan tab yang 'cocok' dengan butang itu.

Tahap kedua - Tambahkan CSS:

Tetapkan gaya untuk butang dan kandungan tab:

* {box-sizing: border-box}
/* Gayakan tab */
.tab {
  gerak: kiri;
  batang: 1px solid #ccc;
  warna latar belakang: #f1f1f1;
  lebar: 30%;
  tinggi: 300px;
}
/* Tetapkan gaya untuk butang yang membuka kandungan tab */
.tab button {
  paparan: blok;
  warna latar belakang: waris;
  warna: hitam;
  pading: 22px 16px;
  lebar: 100%;
  batang: tak ada;
  garis: tak ada;
  jajaran-teks: kiri;
  penuding: pointer;
  transisi: 0.3s;
}
/* Ubah warna latar tombol saat diarahkan mouse */
.tab button:hover {
  warna-latar: #ddd;
}
/* Buat kelas untuk tombol tab yang aktif/dalam semasa */
.tab button.active {
  warna-latar: #ccc;
}
/* Tetapkan gaya untuk kandungan tab */
.tabcontent {
  gerak: kiri;
  keluaran: 0px 12px;
  batang: 1px solid #ccc;
  lebar: 70%;
  batang-kiri: tak ada;
  tinggi: 300px;
}

Tahap Ketiga - Tambahkan JavaScript:

function openCity(evt, cityName) {
  // Deklarasikan semua variabel
  var i, tabcontent, tablinks;
  // Dapatkan semua elemen dengan class="tabcontent" dan sembunyikan mereka
  tabcontent = document.getElementsByClassName("tabcontent");
  for (i = 0; i < tabcontent.length; i++) {
    tabcontent[i].style.display = "none";
  }
  // Dapatkan semua elemen dengan class="tablinks" dan buang kelas "aktif"
  tablinks = document.getElementsByClassName("tablinks");
  for (i = 0; i < tablinks.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" aktif", "");
  }
  // Tunjukkan tab semasa, dan tambah kelas "aktif" kepada pautan yang membuka tab
  document.getElementById(cityName).style.display = "block";
  evt.currentTarget.className += " aktif";
}

亲自试一试

相关页面

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