如何創建:大型菜單
學習如何創建大型菜單(導航欄中的全寬下拉菜單)。
大型菜單
創建大型菜單
創建一個下拉菜單,當用戶將鼠標移動到導航欄中的元素上時會顯示該菜單。
第一步 - 添加 HTML:
<div class="navbar"> <a href="#home">Home</a> <a href="#news">News</a> <div class="dropdown"> <button class="dropbtn">Dropdown <i class="fa fa-caret-down"></i> </button> <div class="dropdown-content"> <div class="header"> <h2>Mega Menu</h2> </div> <div class="row"> <div class="column"> <h3>Category 1</h3> <a href="#">Link 1</a> <a href="#">Link 2</a> <a href="#">Link 3</a> </div> <div class="column"> <h3>Category 2</h3> <a href="#">Link 1</a> <a href="#">Link 2</a> <a href="#">Link 3</a> </div> <div class="column"> <h3>Category 3</h3> <a href="#">Link 1</a> <a href="#">Link 2</a> <a href="#">Link 3</a> </div> </div> </div> </div> </div>
例子解釋:
可以使用任何元素來打開下拉菜單,例如 <button>、<a> 或 <p> 元素。
使用容器元素(如 <div class="dropdown-content">)來創建下拉菜單,并添加網格(列),然后在網格內添加下拉菜單鏈接。
使用 <div class="dropdown"> 元素將按鈕和容器元素(<div class="dropdown-content">)包裹起來,以便使用 CSS 正確定位下拉菜單。
第二步 - 添加 CSS:
/* 導航欄容器 */ .navbar { overflow: hidden; background-color: #333; font-family: Arial; } /* 導航欄內的鏈接 */ .navbar a { float: left; font-size: 16px; color: white; text-align: center; padding: 14px 16px; text-decoration: none; } /* 下拉菜單容器 */ .dropdown { float: left; overflow: hidden; } /* 下拉菜單按鈕 */ .dropdown .dropbtn { font-size: 16px; border: none; outline: none; color: white; padding: 14px 16px; background-color: inherit; font: inherit; /* 對手機端的垂直對齊很重要 */ margin: 0; /* 對手機端的垂直對齊很重要 */ } /* 鼠標懸停時為導航欄鏈接添加紅色背景色 */ .navbar a:hover, .dropdown:hover .dropbtn { background-color: red; } /* 下拉列表內容(默認隱藏) */ .dropdown-content { display: none; position: absolute; background-color: #f9f9f9; width: 100%; left: 0; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 1; } /* 大型菜單標題(如果需要) */ .dropdown-content .header { background: red; padding: 16px; color: white; } /* 鼠標懸停時顯示下拉菜單 */ .dropdown:hover .dropdown-content { display: block; } /* 創建三個等寬的列,并使其并排浮動 */ .column { float: left; width: 33.33%; padding: 10px; background-color: #ccc; height: 250px; } /* 為列內的鏈接設置樣式 */ .column a { float: none; color: black; padding: 16px; text-decoration: none; display: block; text-align: left; } /* 鼠標懸停時添加背景顏色 */ .column a:hover { background-color: #ddd; } /* 清除列后的浮動 */ .row:after { content: ""; display: table; clear: both; }
例子解釋:
我們已經為導航欄和導航欄鏈接設置了背景色、內邊距等樣式。
我們為下拉菜單按鈕設置了背景色、內邊距等樣式。
.dropdown-content
類包含實際的下拉菜單。它默認是隱藏的,將在鼠標懸停時顯示(見下文)。它被定位在下拉菜單按鈕的正下方,并且寬度設置為 100%,以覆蓋整個屏幕。
我們沒有使用邊框,而是使用了 box-shadow
屬性,使下拉菜單看起來像一個“卡片”。我們還使用 z-index
將下拉菜單放置在其他元素的前面。
:hover
選擇器用于在用戶將鼠標懸停在下拉菜單按鈕上時顯示下拉菜單。
.column
類用于在下拉菜單內創建三個并排浮動的列(以顯示不同的類別)。
響應式大型菜單
/* 響應式布局 - 使三列堆疊在一起,而不是并排排列 */ @media screen and (max-width: 600px) { .column { width: 100%; height: auto; } }
相關頁面
教程:CSS 下拉菜單
教程:如何創建可點擊的下拉菜單
教程:CSS 導航欄
教程:如何創建響應式頂部導航欄