
文章插圖
H5自適應是現(xiàn)在主流的技術 , 導航欄菜單是最常見的一種 , 今天我們一起來學習一下它是如何使用HTML , CSS和JavaScript來構建響應式導航欄和漢堡菜單的 。
這就是它的樣子 , 是不是很熟悉呢?
H5導航菜單
好的 , 那就先從HTML開始:
<header class=”header”><nav class=”navbar”><a href=https://www.520longzhigu.com/diannao/”#” class=”nav-logo”>WebDev.
通過這些代碼 , 我們實現(xiàn)了:
給header標簽指定名為header的CSS類的 , 可以作為導航菜單的容器 。給nav標簽指定名為navbar的CSS類 。具有nav-logo類的鏈接具有nav-menu類的ul在ul內(nèi)部 , 我們有4個具有nav-item類的li在每個nav-item中 , 都有一個包含nav-link類的鏈接至于漢堡菜單 , 我已在代碼中添加了一個具有hamburger類的div , 且此div中有3個帶bar類的span以上就是我們需要的HTML代碼 。
現(xiàn)在讓我們添加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;}現(xiàn)在讓我們給每個元素逐個添加樣式:
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; , 所以現(xiàn)在可見 。
我們還添加了一個額外的類.nav-menu.active , 它在nav-menu上設置left: 0; 。現(xiàn)在 , 到了添加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”);}此處的函數(shù)mobileMenu()在hamburger和nav-menu上也添加了一個active類 , 從而打開mobile menu 。單擊hamburger時 , 我們可以使用hamburger上的active類來創(chuàng)建X動畫 ?,F(xiàn)在就開始做吧 。
以上關于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關的問題,請您及時就醫(yī)或請專業(yè)人士給予相關指導!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- excel表格的使用方法 excel公式欄不見了怎么找回來
- 電子圍欄安裝規(guī)范
- win10開始菜單自定義 win10怎么設置開始菜單樣式
- 電子圍欄電壓能電死人嗎?
- 任務欄移動到頂部、左側(cè)或右側(cè)方法 開始菜單在左邊
- 高檔酒店婚宴菜單圖片 婚宴酒店在哪里查
- 餐廳價格表圖片,快餐菜單價格表圖
- 電子圍欄避雷器怎么安裝
- 特斯拉FSD Beta事故首次被錄下:撞上護欄!
- 開始菜單隱藏設置 win10恢復經(jīng)典開始菜單的方法
