如何創建:響應式頂部導航欄
學習如何使用 CSS 和 JavaScript 創建響應式頂部導航欄。
響應式頂部導航菜單
請調整瀏覽器窗口大小,查看響應式導航菜單的工作方式:
創建響應式頂部導航菜單
第一步 - 添加 HTML:
<!-- 加載圖標庫以在小屏幕上顯示漢堡菜單(橫杠) --> <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>
class="icon" 的鏈接用于在小屏幕上打開和關閉頂部導航。
第二步 - 添加 CSS:
/* 為頂部導航添加黑色背景色 */ .topnav { background-color: #333; overflow: hidden; } /* 設置導航欄中鏈接的樣式 */ .topnav a { float: left; display: block; color: #f2f2f2; text-align: center; padding: 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; display: block; } } /* 當用戶點擊圖標時,JavaScript 會向 topnav 添加 "responsive" 類。這個類使 topnav 在小屏幕上看起來更好(將鏈接垂直顯示而不是水平顯示) */ @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; } }
第三步 - 添加 JavaScript:
/* 當用戶點擊圖標時,在 topnav 上切換添加和刪除 "responsive" 類 */ function myFunction() { var x = document.getElementById("myTopnav"); if (x.className === "topnav") { x.className += " responsive"; } else { x.className = "topnav"; } }
相關頁面
教程:CSS 導航欄