技術

下拉選單怎麼做?三層式選單製作完整指南

#下拉選單#CSS#導航設計#前端技術#用戶體驗
三層式下拉選單製作指南

快速解答

三層式下拉選單主要有3種展開方式:直向展開(向下開)適合頂部導航、橫向展開(向右開)適合側邊欄、混合展開(下+右)適合複雜多層級導航。選擇方式依據網站佈局和使用場景而定。

為什麼需要三層式下拉選單?

三層式下拉選單該怎麼做?網路上找的三層選單有很多種不同的收闔方式,不是我想要的…

今天整理三種不同的 Menu 選單,找一個最適合的開始動手嘗試吧!這些選單都能讓你的網站導航更簡單、更高效

三層式下拉選單類型

根據展開方向和使用情境,我們提供三種主要的下拉選單設計:

1. 直向展開(往下開)

適合橫向導航列使用,常見於網站頂部導航

2. 橫向展開(往右開)

適合側邊欄導航,節省垂直空間

3. 混合展開(往下往右開)

結合兩種方式,適合複雜的多層級導航

方法一:直向展開下拉選單

這種方式適合網站頂部的主導航選單,用戶操作直覺。

特色:

  • 垂直展開,符合用戶閱讀習慣
  • 適合桌面版網站的頂部導航
  • 結構清晰,層級關係明顯

HTML 結構要點:

<ul class="dropdown-menu">
  <li class="dropdown-item">
    <label for="level1-checkbox">第一層</label>
    <input id="level1-checkbox" type="checkbox" class="hidden">
    <ul class="submenu">
      <li class="submenu-item">
        <label for="level2-checkbox">第二層</label>
        <input id="level2-checkbox" type="checkbox" class="hidden">
        <ul class="sub-submenu">
          <li>第三層</li>
        </ul>
      </li>
    </ul>
  </li>
</ul>

CSS 關鍵設定:

.submenu {
  display: none; /* 預設隱藏 */
}

.dropdown-item input:checked + .submenu {
  display: block; /* 勾選時顯示 */
}

📱 方法一:直向展開下拉選單演示

方法二:橫向展開下拉選單

這種方式適合側邊欄導航,能有效利用橫向空間。

特色:

  • 橫向展開,節省垂直空間
  • 適合側邊欄或移動裝置導航
  • 視覺層次分明

關鍵 CSS 設定:

.submenu {
  position: absolute;
  top: 0;
  left: 100%; /* 在右側展開 */
  display: none;
}

.dropdown-item:hover .submenu,
.dropdown-item input:checked + .submenu {
  display: block;
}

使用技巧:

  • 使用 position: absolute 定位子選單
  • left: 100% 讓選單在右側展開
  • 可搭配 z-index 控制層級順序

↗️ 方法二:橫向展開下拉選單演示

💡 操作提示: 將滑鼠移至左側選單項目,子選單將向右展開。適合側邊欄和後台管理系統使用

方法三:混合展開下拉選單

結合直向和橫向展開的優勢,適合複雜的導航結構。

特色:

  • 第一層向下展開
  • 第二、三層向右展開
  • 適合內容豐富的大型網站

實作邏輯:

/* 第一層:向下展開 */
.level1-submenu {
  position: static;
  display: none;
}

/* 第二、三層:向右展開 */
.level2-submenu, .level3-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  display: none;
}

適用情境:

  • 電商網站的商品分類
  • 企業官網的服務項目
  • 複雜的後台管理系統

🎯 方法三:混合展開下拉選單演示(移動端優化)

實作技術要點

HTML 結構設計

使用語義化標籤:

<nav class="main-navigation">
  <ul class="nav-list">
    <li class="nav-item has-dropdown">
      <a href="#" class="nav-link">主選項</a>
      <ul class="dropdown-menu">
        <!-- 子選項 -->
      </ul>
    </li>
  </ul>
</nav>

CSS 核心技巧

1. 隱藏/顯示控制:

.dropdown-menu {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
}

.has-dropdown:hover .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

2. 箭頭指示器:

.nav-link::after {
  content: '';
  border: solid transparent;
  border-width: 4px 4px 0;
  border-top-color: currentColor;
}

JavaScript 增強

添加鍵盤支持:

// 鍵盤導航支持
document.addEventListener('keydown', (e) => {
  if (e.key === 'Escape') {
    closeAllDropdowns();
  }
});

用戶體驗優化建議

響應式設計

桌面版 vs 移動版:

  • 桌面版:使用 hover 觸發,支援滑鼠操作
  • 移動版:使用點擊觸發,考慮觸控友好性

無障礙設計

鍵盤導航支持:

<li class="nav-item" role="menuitem">
  <a href="#" aria-haspopup="true" aria-expanded="false">
    主選項
  </a>
</li>

效能考量

CSS 優化:

  • 使用 transform 而非 top/left 做動畫
  • 避免過度使用 box-shadow 影響效能
  • 合理使用 will-change 屬性

視覺回饋

互動狀態設計:

.nav-link:hover {
  background-color: #f5f5f5;
  color: #333;
}

.nav-link:focus {
  outline: 2px solid #007bff;
  outline-offset: 2px;
}

選擇適合的方案

決策參考

選擇直向展開(往下開)當:

  • 網站使用橫向頂部導航
  • 內容層級不超過 3 層
  • 桌面裝置為主要用戶群

選擇橫向展開(往右開)當:

  • 使用側邊欄導航設計
  • 需要節省垂直空間
  • 移動裝置優先設計

選擇混合展開當:

  • 導航內容複雜,層級較多
  • 大型網站需要完整的導航結構
  • 有充足的開發時間和資源

透過這三種三層式下拉選單的製作方法,你可以根據專案需求選擇最適合的導航方式,打造出流暢且用戶友好的網站導航體驗!

你可能還會喜歡

技術

CSS 動畫怎麼做?從基礎到進階的完整入門指南

#CSS#動畫#網頁設計#前端開發
技術

CSS 濾鏡怎麼用?完全指南讓圖片瞬間變藝術品

#CSS#濾鏡#圖片特效#前端設計
指南

網站製作前要準備什麼?7步驟資料準備指南

#網頁設計#專案規劃#網站建置#設計流程
行銷

創業初期如何吸引客戶?網站設計建立信任的關鍵策略

#創業#網站設計#品牌建立#客戶信任