Bagaimana untuk buat: Pemandu navigasi atas responsif

Belajar bagaimana untuk menggunakan CSS dan JavaScript untuk membuat pemandu navigasi atas responsif.

Menu navigasi atas responsif

Tetapkan saiz tetingkap pelayar, lihat bagaimana menu navigasi atas responsif beroperasi:

亲自试一试

Buat menu navigasi atas responsif

Langkah pertama - Tambahkan HTML:

/* Muat pustaka ikon untuk menampilkan menu hamburger di layar kecil */
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<div class="topnav" id="myTopnav">
  <a href="#home" class="active">Home</a>
  <a href="#news">News</a>
  <a href="#contact">Contact</a>
  <a href="#about">About</a>
  <a href="javascript:void(0);" class="icon" onclick="myFunction()">
    <i class="fa fa-bars"></i>
  </a>
</div>

penunjuk dengan class="icon" digunakan untuk membuka dan menutup pemandu navigasi di layar kecil.

Langkah kedua - Tambahkan CSS:

/* Tambahkan warna latar hitam ke pemandu navigasi atas */
.topnav {
  warna_latar: #333;
  kelebihan: tersembunyi;
}
/* Tetapkan gaya penunjuk di dalam pemandu navigasi */
.topnav a {
  apung: kiri;
  display: block;
  warna: #f2f2f2;
  tekanan_teks: tengah;
  mengisi: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}
/* Ubah warna tautan saat kursor berada di atas */
.topnav a:hover {
  background-color: #ddd;
  color: black;
}
/* Tambahkan kelas aktif untuk menonjolkan halaman saat ini */
.topnav a.active {
  background-color: #04AA6D;
  color: white;
}
/* Sembunyikan tautan yang digunakan untuk membuka dan menutup navigasi puncak di layar kecil */
.topnav .icon {
  display: none;
}

Tambahkan pengkajian media:

/* Sembunyikan semua tautan kecuali tautan pertama ("Home") saat lebar layar kurang dari 600 piksel. Tampilkan tautan yang mengandung pengembalian dan penutup navigasi puncak (icon) */
@media screen and (max-width: 600px) {
  .topnav a:not(:first-child) {display: none;}
  .topnav a.icon {
    float: right;
    display: block;
  }
}
/* Apabila pengguna mengklik ikon, JavaScript akan menambah kelas "responsive" ke topnav. Kelas ini membuat topnav tampak lebih baik di layar kecil (menampilkan tautan secara vertikal daripada horizontal) */
@media screen and (max-width: 600px) {
  .topnav.responsive {position: relative;}
  .topnav.responsive a.icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
}

Tahap Ketiga - Tambahkan JavaScript:

/* Apabila pengguna mengklik ikon, tambah atau hapus kelas "responsive" di topnav */
function myFunction() {
  var x = document.getElementById("myTopnav");
  if (x.className === "topnav") {
    x.className += " responsive";
  } else {
    x.className = "topnav";
  }
}

亲自试一试

相关页面

教程:CSS 导航栏