整合營銷服務商

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

          免費咨詢熱線:

          帶圖標和按鈕切換特效的垂直導航菜單的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。當側邊展開時,點擊展開的剩余背景能收縮展開的菜單欄。


          主站蜘蛛池模板: 久久久久人妻一区二区三区vr| 国产精品视频分类一区| 国产成人精品一区二三区在线观看| 国产剧情国产精品一区| 国产香蕉一区二区三区在线视频| 中文字幕一区日韩在线视频 | 精品福利一区二区三区| 国产伦精品一区三区视频| 午夜精品一区二区三区在线观看| 中文字幕一区二区视频| 亚洲午夜精品一区二区公牛电影院| 人妻视频一区二区三区免费| 福利一区二区三区视频午夜观看| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 国产主播一区二区| 亚洲AV无码一区二区乱子仑| 精品一区二区三区电影| 无码精品视频一区二区三区| 日韩精品免费一区二区三区 | 日本在线视频一区二区| 视频在线观看一区二区| 无码毛片视频一区二区本码| 国产成人一区二区三区免费视频 | 精品成人乱色一区二区| 在线播放偷拍一区精品| 日本在线视频一区二区| 天天综合色一区二区三区| 无码一区二区三区亚洲人妻 | 久久精品一区二区免费看| 国产亚洲综合一区柠檬导航| 精品视频一区二区三区四区五区| 女人和拘做受全程看视频日本综合a一区二区视频 | 国产一区二区女内射| 日韩免费观看一区| 日韩免费一区二区三区在线播放| 无码夜色一区二区三区| 国产一区二区在线|播放| 激情内射亚州一区二区三区爱妻| 国产在线精品一区二区在线观看| 99久久综合狠狠综合久久一区| av无码免费一区二区三区|