{}const=>[]async()letfn</>var
Web実践

マルチレベルのドロップダウンメニューの作成

HTML、CSS、JavaScriptを使用してマルチレベルのドロップダウンメニューを作成する方法を学びます。初心者向けの例とコードを使用したステップバイステップガイド。

К

Kodik

著者

1分で読める

この記事では、HTML、CSS、JavaScriptを使用してマルチレベルのドロップダウンメニューを作成する方法について説明します。このようなメニューをどのように便利でモダンにするかを段階的に分析します。初心者でも、これらの手順に従って独自のドロップダウンメニューを作成できます。さあ始めましょう!

マルチレベル ドロップダウン メニューとは

ドロップダウンメニューは、ユーザーがサイト内を素早く移動できるようにするインターフェース要素です。マルチレベルメニューには、互いにネストできるサブメニューがあります。このようなメニューは、カテゴリやサブカテゴリが多い大規模なサイトでよく見られます。このようなメニューの例は、オンラインストアや企業ポータルのサイトで見ることができます。

ドロップダウンメニューのHTML構造

マルチレベルのドロップダウンメニューを作成するには、HTMLから始めます。リストとサブ項目の要素 <ul><li> を使用して、基本的なメニュー構造を作成します。

<nav class="menu">
  <ul>
    <li><a href="# ">ホーム</a></li>
    <li><a href="# ">サービス</a>
      <ul class="submenu">
        <li><a href="# ">ウェブ開発</ a></ li>
        <li><a href="# ">モバイルアプリ</ a>
          <ul class="submenu">
            <li><a href="#">iOS</a></li>
            <li><a href="#">Android</a></li>
          </ul>
        </li>
        <li><a href="#">SEO</a></li>
      </ul>
    </li>
    <li><a href="# ">連絡先</a></li>
  </ul>
</nav>

ここでは、ネストされたリスト <ul> を使用して、マルチレベルのメニュー項目を作成します。各<li>には、サブメニューを形成するためのリンク(<a>)とネストされたリスト(<ul>)を含めることができます。

CSSを使用したメニューのスタイル

ここで、メニューが美しく見え、ドロップダウン機能を持つようにスタイルを追加します。CSS は、サブメニューを非表示にし、親要素にカーソルを合わせたときにサブメニューを表示するのに役立ちます。

/* Основные стили для меню */
.menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.menu > ul > li {
  position: relative;
  display: inline-block;
  margin-right: 20px;
}

.menu a {
  text-decoration: none;
  color: #333;
  padding: 10px 15px;
  display: block;
}

/* Скрываем подменю по умолчанию */
.menu .submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #fff;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}

/* Показываем подменю при наведении на родительский элемент */
.menu li:hover > .submenu {
  display: block;
}

/* Стили для элементов подменю */
.submenu li {
  position: relative;
  margin: 0;
}

.submenu .submenu {
  top: 0;
  left: 100%;
}

JavaScript を使用したインタラクティブ機能の追加

モバイルデバイスでもメニューを使いやすくするために、JavaScriptを少し追加します。JavaScriptを使用すると、クリック時のサブメニューの表示を制御できます。

document.addEventListener('DOMContentLoaded', function() {
  const menuItems = document.querySelectorAll('.menu li');

  menuItems.forEach(item => {
    const submenu = item.querySelector('.submenu');
    if (submenu) {
      item.addEventListener('click', function(e) {
        e.stopPropagation();
        submenu.classList.toggle('show');
      });
    }
  });

  document.addEventListener('click', function() {
    document.querySelectorAll('.submenu').forEach(submenu => {
      submenu.classList.remove('show');
    });
  });
});

このコードでは、サブメニューを持つ各メニュー項目にイベントハンドラを追加します。クラス show は、サブメニューを表示および非表示にするために追加および削除されます。また、ページ上の他の場所をクリックしたときにサブメニューを非表示にするために、ドキュメント全体にハンドラーを追加します。

結論

マルチレベルのドロップダウンメニューを作成するのは、それほど難しくありません。HTML の構造を理解し、CSS と JavaScript を使用して要素の表示を管理する方法を学ぶことが重要です。ドロップダウンメニューは、ユーザーが必要な情報を簡単に見つけるのに役立ち、サイトをより使いやすくします。

この例を使用して、独自のドロップダウンメニューを作成してみてください。さらに複雑なインターフェースの作成方法を学びたい場合は、アプリケーションを試すことをお勧めします コディックHTML、CSS、JavaScriptのコースを受講して、ウェブ開発を素早く習得し、さらに面白いプロジェクトを作成しましょう!

🎯先延ばしをやめよう

記事は気に入った?
実践の時間だ!

Kodikでは読むだけでなく、すぐにコードを書く。理論 + 実践 = 本当のスキル。

即座に実践
🧠AIがコードを説明
🏆修了証

登録不要 • カード不要