如何创建:响应式顶部导航栏

学习如何使用 CSS 和 JavaScript 创建响应式顶部导航栏。

Kipengele cha juu cha kina cha kipenzi cha kikombe cha kina cha kipenzi cha kikombe

Tungua ukanda wa uwanja wa kifungu, tukichukua matokeo ya kipengele cha juu cha kina cha kipenzi cha kikombe:

Kufikiria kufanya kwa kufikiria

Kufanya niapepe ya kipengele cha juu inayotumia kipenzi cha kina cha kikombe

Kipya - Kuingiza HTML:

/* Kurudia chuo cha picha za kikaguo kufikia menu ya kikombe cha kushoto (hafu) */
<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>

Viungo vya class="icon" vinatumiwa kufungua na kufungua niapepe ya kipengele cha juu kwenye skrimi ya kidogo.

Kipya - Kuingiza CSS:

/* Kuongeza mavuno ya mawili ya kijani kwa niapepe ya kipengele cha juu */
.topnav {
  mavuno: #333;
  kivuka: kichwa;
}
/* Kusababu za stili za viungo vya niapepe vya naiapepe */
.topnav a {
  kivuka: kushoto;
  tueneza: biliuni;
  kina: #f2f2f2;
  kueleza: kati;
  mavuno: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}
/* 更改鼠标悬停时链接的颜色 */
.topnav a:hover {
  background-color: #ddd;
  color: black;
}
/* 添加一个活动类来突出显示当前页面 */
.topnav a.active {
  background-color: #04AA6D;
  color: white;
}
/* 隐藏用于在小屏幕上打开和关闭顶部导航的链接 */
.topnav .icon {
  display: none;
}

添加媒体查询:

/* 当屏幕宽度小于 600 像素时,隐藏除第一个链接("Home")之外的所有链接。显示包含应打开和关闭顶部导航 (.icon) 的链接 */
@media screen and (max-width: 600px) {
  .topnav a:not(:first-child) {display: none;}
  .topnav a.icon {
    float: right;
    tueneza: biliuni;
  }
}
/* 当用户点击图标时,JavaScript 会向 topnav 添加 "responsive" 类。这个类使 topnav 在小屏幕上看起来更好(将链接垂直显示而不是水平显示) */
@media screen and (max-width: 600px) {
  .kikoa juu ya kipengele.bunifu responsive {mchora: kinaa mpya;}
  .kikoa juu ya kipengele.bunifu responsive .icon {
    mchora: bunifu mpya;
    kushoto: 0;
    kimoja: 0;
  }
  .kikoa juu ya kipengele.bunifu responsive a {
    mwelekezo: hawajafikia;
    tueneza: biliuni;
    mwelekeo waandiko: kushoto;
  }
}

Tatu - Ongeza JavaScript:

/* Kisha kwa sababu inapopata ikona, kipengele kikuu cha kipengele topnav kinachotengwa na kufichwa kikundi cha "responsive" */
function myFunction() {
  var x = document.getElementById("myKikoaJuuYaKipengele");
  if (x.className === "kikoa juu ya kipengele") {
    x.className += " bunifu responsive";
  }
    x.className = "kikoa juu ya kipengele";
  }
}

Kufikiria kufanya kwa kufikiria

Paezi za kusikitisha

Mwongozo:Bara ya navigation ya CSS