如何 - 巨型選單
學習如何建立巨型選單(導航欄中的全寬下拉選單)。
巨型選單
建立巨型選單
建立一個下拉選單,當用戶將滑鼠懸停在導航欄中的某個元素上時出現。
步驟 1) 新增 HTML
示例
<div class="navbar">
<a href="#home">主頁</a>
<a href="#news">新聞</a>
<div class="dropdown">
<button class="dropbtn">下拉選單
<i class="fa fa-caret-down"></i>
</button>
<div class="dropdown-content">
<div class="header">
<h2>巨型選單</h2>
</div>
<div class="row">
<div class="column">
<h3>類別 1</h3>
<a href="#">連結 1</a>
<a href="#">連結 2</a>
<a href="#">連結 3</a>
</div>
<div class="column">
<h3>類別 2</h3>
<a href="#">連結 1</a>
<a href="#">連結 2</a>
<a href="#">連結 3</a>
</div>
<div class="column">
<h3>類別 3</h3>
<a href="#">連結 1</a>
<a href="#">連結 2</a>
<a href="#">連結 3</a>
</div>
</div>
</div>
</div>
</div>
示例解釋
使用任何元素來開啟下拉選單,例如 <button>、<a> 或 <p> 元素。
使用容器元素(如 <div class="dropdown-content">)建立下拉選單,並新增網格(列)和內部的下拉鍊接。
在按鈕和容器元素(<div class="dropdown-content">)周圍包裹一個 <div class="dropdown"> 元素,以使用 CSS 正確地定位下拉選單。
步驟 2) 新增 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 導航欄教程,瞭解更多關於導航欄的資訊。
提示:請參閱我們的 響應式頂部導航,瞭解如何建立響應式導航欄。