外側クリックで閉じられるドロワーメニューの作り方【HTML/CSS/JavaScript・サンプルコード付き】

html/css/js

外側クリックで閉じられるドロワーメニューの作り方

HTML、CSS、JavaScriptを使って、ドロワーメニューの外側(背景部分)をクリックすると閉じられる機能を作る方法を紹介します。スマホやPCで直感的に操作できるUIを実現したい場合や、サイドメニューやナビゲーションを使いやすくしたい場合に利用できます。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。

デモ

外側クリックで閉じられるドロワーメニュー

ボタンをクリックするとドロワーメニューを表示します。背景部分をクリックすると閉じます。

コードをコピーして使おう!

<!DOCTYPE html>
<html lang="ja">
<head>

  <meta charset="UTF-8">

  <!-- ページタイトル -->
  <title>外側クリックで閉じられるドロワーメニュー</title>

  <!-- CSS読み込み -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- デモエリア -->
  <div class="outside-click-close-drawer-menu_wrap">

    <div class="outside-click-close-drawer-menu_title">
      外側クリックで閉じられるドロワーメニュー
    </div>

    <p class="outside-click-close-drawer-menu_text">
      ボタンをクリックするとドロワーメニューを表示します。背景部分をクリックすると閉じられます。
    </p>

    <button class="outside-click-close-drawer-menu_open" type="button" data-drawer-open>
      メニューを開く
    </button>

  </div>

  <div class="outside-click-close-drawer-menu_overlay" data-drawer-overlay>

    <div class="outside-click-close-drawer-menu_drawer" role="dialog" aria-modal="true">

      <div class="outside-click-close-drawer-menu_drawer-title">
        メニュー
      </div>

      <p class="outside-click-close-drawer-menu_drawer-text">
        ドロワーメニューの外側をクリックすると閉じることができます。
      </p>

      <nav class="outside-click-close-drawer-menu_nav" aria-label="メニュー">
        <a href="#">ホーム</a>
        <a href="#">サービス</a>
        <a href="#">お知らせ</a>
        <a href="#">お問い合わせ</a>
      </nav>

    </div>

  </div>

  <script src="script.js"></script>

</body>
</html>

ファイル構成と設置方法

このサンプルは、HTML・CSS・JavaScriptをそれぞれ別ファイルに分けて使用します。index.htmlstyle.cssscript.js を同じフォルダに配置してください。

sample/
├── index.html
├── style.css
└── script.js
  

index.html をブラウザで開くと、ドロワーメニューを表示できます。このサンプルでは、ドロワーメニューの外側にある背景部分をクリックすると閉じることができます。


コメント