ドロワーメニューを画面中央で拡大表示する方法【HTML/CSS/JavaScript・サンプルコード付き】

ドロワーメニュー

ドロワーメニューを画面中央で拡大表示する方法

ドロワーメニューを画面中央で拡大表示する方法を紹介します。通常の左右から表示されるドロワーメニューとは異なり、ボタンをクリックすると画面中央へズームしながら表示されるため、メニューやナビゲーションを印象的に見せたい場面で利用できます。HTML・CSS・JavaScriptのみで実装できるため、ライブラリを使用せずに導入できます。

このサンプルでは、メニューを開くボタン、背景のオーバーレイ、ズーム表示されるメニュー本体、ナビゲーションリンク、閉じるボタンを実装しています。背景部分または閉じるボタンをクリックするとメニューを閉じることができ、基本的な操作を確認できます。

メニュー項目やタイトル、説明文、色や余白、角丸、表示サイズなどは自由に変更できます。サイトメニューやサービス一覧、キャンペーン案内など、画面中央へ注目させたいUIを作成する際のベースとして利用できるサンプルです。

コードについて
本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項
本記事のコードを利用したことによる損害について、当サイトでは責任を負いかねます。必要に応じて環境に合わせて調整してください。

デモ

ドロワーメニューを画面中央で拡大表示

ボタンをクリックすると、画面中央へズームしながらドロワーメニューを表示できます。

「メニューを開く」をクリックすると、画面中央へズームしながらドロワーメニューが表示されます。背景部分または「閉じる」ボタンをクリックするとメニューを閉じます。

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

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

  <!-- 文字コード -->
  <meta charset="UTF-8">

  <!-- スマートフォン表示対応 -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- ページタイトル -->
  <title>ドロワーメニューを画面中央で拡大表示する方法</title>

  <!-- CSSファイルを読み込み -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- 案内エリア -->
  <div class="center-zoom-drawer-menu_wrap">

    <!-- タイトル -->
    <div class="center-zoom-drawer-menu_title">
      ドロワーメニューを画面中央で拡大表示
    </div>

    <!-- 説明文 -->
    <p class="center-zoom-drawer-menu_text">
      ボタンをクリックすると、画面中央へズームしながらドロワーメニューを表示できます。
    </p>

    <!-- メニューを開くボタン -->
    <button
      class="center-zoom-drawer-menu_open"
      type="button"
      data-drawer-open>
      メニューを開く
    </button>

  </div>

  <!-- オーバーレイ -->
  <div
    class="center-zoom-drawer-menu_overlay"
    data-drawer-overlay
    aria-hidden="true">

    <!-- ドロワーメニュー本体 -->
    <div
      class="center-zoom-drawer-menu_drawer"
      role="dialog"
      aria-modal="true"
      aria-labelledby="center-zoom-drawer-menu-title">

      <!-- メニュータイトル -->
      <div
        class="center-zoom-drawer-menu_drawer-title"
        id="center-zoom-drawer-menu-title">
        メニュー
      </div>

      <!-- 説明文 -->
      <p class="center-zoom-drawer-menu_drawer-text">
        画面中央へ拡大表示されるドロワーメニューです。
      </p>

      <!-- メニュー一覧 -->
      <nav
        class="center-zoom-drawer-menu_nav"
        aria-label="メニュー">

        <a href="#">ホーム</a>
        <a href="#">サービス</a>
        <a href="#">お知らせ</a>
        <a href="#">お問い合わせ</a>

      </nav>

      <!-- 閉じるボタン -->
      <button
        class="center-zoom-drawer-menu_close"
        type="button"
        data-drawer-close>
        閉じる
      </button>

    </div>

  </div>

  <!-- JavaScriptファイルを読み込み -->
  <script src="script.js"></script>

</body>
</html>
コードをコピーする場合 使用するコードのタブを選び、「このタブをコピー」をクリックすると、現在表示中のコードをコピーできます。
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。

ファイル構成と設置方法

このサンプルはHTML・CSS・JavaScriptの3ファイルで構成されており、ボタンをクリックすると画面中央へズームしながらドロワーメニューを表示できます。HTMLでメニュー構造を作成し、CSSでズームアニメーションを含むデザインを設定、JavaScriptでメニューの開閉を制御しています。

ドロワーメニュー内にはメニューリンクと閉じるボタンを配置しています。背景部分または閉じるボタンをクリックするとメニューを閉じられるため、スマートフォン・タブレット・PCのどの環境でも操作しやすい構成です。

HTML・CSS・JavaScriptを分離しているため、メニュー項目の追加や削除、配色変更、アニメーション速度の調整なども簡単に行えます。画面中央へ拡大表示するメニューUIを作成したい場合のベースとして利用できます。

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

各ファイルの役割
index.html
ドロワーメニュー本体、メニュー一覧、開くボタン、閉じるボタンを配置しています。タイトルや説明文、リンク名、メニュー数などを変更できます。

style.css
ドロワーメニュー全体のレイアウトやデザインを設定しています。背景色、文字色、影、角丸、余白、メニューの横幅、ズームアニメーションなどを変更できます。

script.js
ドロワーメニューを開く処理、閉じる処理、背景クリックで閉じる処理を管理しています。

設置方法・使い方
sampleフォルダへindex.html、style.css、script.jsを配置し、sample/index.htmlをブラウザで開いてください。「メニューを開く」ボタンをクリックすると画面中央へズームしながらドロワーメニューが表示されます。「閉じる」ボタンまたは背景部分をクリックするとメニューを閉じます。

カスタマイズできる内容
index.htmlではタイトル、説明文、メニュー項目、リンク先、ボタンの文字を変更できます。style.cssでは背景色、文字色、余白、角丸、影、メニューの横幅、ボタンデザイン、アニメーションなどを変更できます。script.jsでは開閉処理やクリック時の動作を変更できます。

数値調整
style.cssのmax-width:420px;を変更するとドロワーメニューの最大横幅が変わります。padding:28px;を変更すると内部余白が変わります。border-radius:18px;を変更すると角丸の大きさが変わります。animation:center-zoom-drawer-menu_zoom .35s ease forwards;の0.35秒を変更するとズーム表示の速度が変わります。transition:background .2s ease;の0.2秒を変更するとボタンやリンクの背景色が切り替わる速度が変わります。

レスポンシブ対応
style.cssではwidth:100%、max-width、padding、@media (max-width:640px)を使用してレスポンシブ対応しています。スマートフォンでは余白やメニューサイズを自動調整し、タブレット・PCでは中央配置を維持したまま利用できます。


こちらもおすすめ


コメント