整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          帶圖標和按鈕切換特效的垂直導航菜單的html頁面源碼

          家好,今天給大家介紹一款,帶圖標的垂直導航菜單的html頁面源碼(圖1)。送給大家哦,獲取方式在本文末尾。

          圖1

          點擊每個按鈕時,都有切換特效,并顯示按鈕的說明,看起來非常不錯(圖2)

          圖2

          代碼完整,需要的朋友可以下載(圖3)

          圖3

          本源碼編碼:10148,需要的朋友,點擊下面的鏈接后,搜索10148,即可獲取。

          就愛UI - 分享UI設計的點點滴滴

          5自適應是現在主流的技術,導航欄菜單是最常見的一種,今天我們一起來學習一下它是如何使用HTML,CSS和JavaScript來構建響應式導航欄和漢堡菜單的。

          這就是它的樣子,是不是很熟悉呢?

          H5導航菜單

          好的,那就先從HTML開始:

          <header class=”header”>
          <nav class=”navbar”>
          <a href=”#” class=”nav-logo”>WebDev.</a>
          <ul class=”nav-menu”>
          <li class=”nav-item”>
          <a href=”#” class=”nav-link”>Services</a>
          </li>
          <li class=”nav-item”>
          <a href=”#” class=”nav-link”>Blog</a>
          </li>
          <li class=”nav-item”>
          <a href=”#” class=”nav-link”>About</a>
          </li>
          <li class=”nav-item”>
          <a href=”#” class=”nav-link”>Contact</a>
          </li>
          </ul>
          <div class=”hamburger”>
          <span class=”bar”></span>
          <span class=”bar”></span>
          <span class=”bar”></span>
          </div>
          </nav>
          </header>

          通過這些代碼,我們實現了:

          • 給header標簽指定名為header的CSS類的,可以作為導航菜單的容器。
          • 給nav標簽指定名為navbar的CSS類。
          • 具有nav-logo類的鏈接
          • 具有nav-menu類的ul
          • 在ul內部,我們有4個具有nav-item類的li
          • 在每個nav-item中,都有一個包含nav-link類的鏈接
          • 至于漢堡菜單,我已在代碼中添加了一個具有hamburger類的div,且此div中有3個帶bar類的span

          以上就是我們需要的HTML代碼。

          現在讓我們添加CSS樣式重置代碼

          (此外,我們將導入所需的字體,并添加一些基本的CSS來重置所有的默認樣式。)

          @import url(‘https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,500;1,400&display=swap’);
          
          * {
          margin: 0;
          padding: 0;
          box-sizing: border-box;
          }
          
          html {
          font-size: 62.5%;
          font-family: ‘Roboto’, sans-serif;
          }
          
          li {
          list-style: none;
          }
          
          a {
          text-decoration: none;
          }

          現在讓我們給每個元素逐個添加樣式:

          header和navbar:

          .header{
          border-bottom: 1px solid #E2E8F0;
          }
          
          .navbar {
          display: flex;
          justify-content: space-between;
          align-items: center;
          padding: 1rem 1.5rem;
          }


          hamburger樣式:

          .hamburger {
          display: none;
          }
          
          .bar {
          display: block;
          width: 25px;
          height: 3px;
          margin: 5px auto;
          -webkit-transition: all 0.3s ease-in-out;
          transition: all 0.3s ease-in-out;
          background-color: #101010;
          }


          其他元素的基本樣式:

          .nav-menu {
          display: flex;
          justify-content: space-between;
          align-items: center;
          }
          
          .nav-item {
          margin-left: 5rem;
          }
          
          .nav-link{
          font-size: 1.6rem;
          font-weight: 400;
          color: #475569;
          }
          
          .nav-link:hover{
          color: #482ff7;
          }
          
          .nav-logo {
          font-size: 2.1rem;
          font-weight: 500;
          color: #482ff7;
          }

          完成這些之后,看起來應該是這樣的:

          但是它不是響應式的,所以我們還需要添加媒體查詢css代碼。

          @media only screen and (max-width: 768px) {
          .nav-menu {
          position: fixed;
          left: -100%;
          top: 5rem;
          flex-direction: column;
          background-color: #fff;
          width: 100%;
          border-radius: 10px;
          text-align: center;
          transition: 0.3s;
          box-shadow:
          0 10px 27px rgba(0, 0, 0, 0.05);
          }
          
          .nav-menu.active {
          left: 0;
          }
          
          .nav-item {
          margin: 2.5rem 0;
          }
          
          .hamburger {
          display: block;
          cursor: pointer;
          }
          
          }


          這里媒體查詢就是通過設置position: fixed; left: -100%;來隱藏nav-menu。

          此外,我們將hamburger設置為display: block;,所以現在可見。

          我們還添加了一個額外的類.nav-menu.active,它在nav-menu上設置left: 0;。現在,到了添加javascript的時候了,以便在我們單擊漢堡菜單時,會在nav-menu上添加此active類。

          添加JavaScript

          const hamburger = document.querySelector(“.hamburger”);
          const navMenu = document.querySelector(“.nav-menu”);
          
          hamburger.addEventListener(“click”, mobileMenu);
          
          function mobileMenu() {
          hamburger.classList.toggle(“active”);
          navMenu.classList.toggle(“active”);
          }


          此處的函數mobileMenu()在hamburger和nav-menu上也添加了一個active類,從而打開mobile menu。單擊hamburger時,我們可以使用hamburger上的active類來創建X動畫。現在就開始做吧。

          // Inside the Media Query.
          
          .hamburger.active .bar:nth-child(2) {
          opacity: 0;
          }
          
          .hamburger.active .bar:nth-child(1) {
          transform: translateY(8px) rotate(45deg);
          }
          
          .hamburger.active .bar:nth-child(3) {
          transform: translateY(-8px) rotate(-45deg);
          }

          現在看起來應該是這樣的:

          但是有一個問題,當我們單擊鏈接時,漢堡菜單不會關閉。現在讓我們解決一下這個問題。

          const navLink = document.querySelectorAll(“.nav-link”);
          
          navLink.forEach(n => n.addEventListener(“click”, closeMenu));
          
          function closeMenu() {
          hamburger.classList.remove(“active”);
          navMenu.classList.remove(“active”);
          }

          closeMenu()函數從nav-menu和hamburger中刪除active類,從而關閉mobile menu。

          H5導航菜單就是這樣,實現了用HTML,CSS和javascript構建一個響應式的導航欄菜單。希望你喜歡并分享這篇文章。感謝大家的閱讀。

          更多干貨等著你~ 點贊、分享,關注哦

          在的移動端頁面中,很多網站都用到了側邊切換菜單欄功能,針對于該功能, 利用CSS3的知識,寫了一個實現側滑的效果。

          效果展示如下:

          HTML:首先寫好側邊的布局。然后不是側邊的內容塊最好用一個內容塊包圍住。

          CSS樣式

          給側邊菜單定位,起始位置為left:-50%,當點擊菜單的展開按鈕,側邊菜單就加上open類目,讓left:值為0,即展開切換。同理。main也一樣。

          JQ代碼

          當點擊菜單展開按鈕 定義類名為 f-lei,側邊菜單切換添加刪除類open, 主內容切換添加刪除類show。當側邊展開時,點擊展開的剩余背景能收縮展開的菜單欄。


          主站蜘蛛池模板: 国精产品999一区二区三区有限| 国产嫖妓一区二区三区无码| 久久精品亚洲一区二区| 另类国产精品一区二区| 少妇精品久久久一区二区三区| 国产高清在线精品一区二区 | 99国产精品欧美一区二区三区| 国产午夜精品一区理论片飘花| 久久无码精品一区二区三区| 国产一区二区精品| 国产免费一区二区三区| 免费无码一区二区三区蜜桃大| 国产亚洲综合精品一区二区三区| 日本无卡码一区二区三区| 一区视频免费观看| 亚洲国产国产综合一区首页| 色噜噜AV亚洲色一区二区 | 亚洲熟女少妇一区二区| 97av麻豆蜜桃一区二区| 国产一区韩国女主播| 怡红院AV一区二区三区| 国产福利在线观看一区二区| 国产激情无码一区二区app| 国产婷婷一区二区三区| 国产综合一区二区在线观看| 红桃AV一区二区三区在线无码AV| 久久精品国产一区二区| 亚洲日韩精品一区二区三区无码| 久久无码人妻精品一区二区三区| 亚洲片国产一区一级在线观看| 3D动漫精品啪啪一区二区下载 | 久久久无码精品人妻一区| 成人久久精品一区二区三区| 波多野结衣中文一区二区免费| 视频在线观看一区二区| 伊人色综合视频一区二区三区| 99精品国产高清一区二区三区| 亚洲不卡av不卡一区二区| 人妻无码一区二区三区免费| 久久精品中文字幕一区| 日韩一区二区三区无码影院 |