HTML/CSSだけで動くドロワーメニューの作り方【HTML/CSS・サンプルコード付き】

ドロワーメニュー

HTML/CSSだけで動くドロワーメニューの作り方

HTML/CSSだけで動くドロワーメニューの作り方を紹介します。このサンプルでは、画面内のボタンをクリックすると左側からドロワーメニューがスライド表示され、「閉じる」ボタンを押すと元の位置へ戻ります。HTML・CSS・JavaScriptだけで実装しているため、特別なライブラリを使わずにシンプルなドロワーメニューを導入できます。

スマートフォン向けのナビゲーションだけでなく、管理画面、会員サイト、サービス紹介ページ、企業サイトなどでも利用しやすい構成です。メニュー項目を縦に並べて表示できるため、画面幅が限られる環境でも操作しやすく、クリック操作だけでメニューの表示・非表示を切り替えられます。左側からスライド表示されるため、現在の画面を維持したままナビゲーションを表示できる点も特徴です。

タイトル、説明文、ボタン名、メニュー項目、リンク先はHTMLから変更でき、CSSでは横幅、背景色、余白、文字サイズ、角丸、影、アニメーション速度などを自由に調整できます。レスポンシブにも対応しているため、スマートフォン・タブレット・PCで利用しやすく、初心者でも導入しやすいドロワーメニューのサンプルとして活用できます。

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

デモ

基本ドロワーメニュー

「メニューを開く」をクリックすると、画面左側からドロワーメニューが表示されます。

「メニューを開く」をクリックすると左側から表示され、「閉じる」ボタンをクリックすると閉じます。

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

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

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

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

  <!-- ページタイトル -->
  <title>HTML/CSSだけで動くドロワーメニュー</title>

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

</head>
<body>

  <!-- ドロワーメニュー全体 -->
  <div class="basic-drawer-menu_wrap">

    <!-- タイトル -->
    <div class="basic-drawer-menu_title">
      HTML/CSSだけで動くドロワーメニュー
    </div>

    <!-- 説明文 -->
    <p class="basic-drawer-menu_text">
      「メニューを開く」をクリックすると、画面左側からドロワーメニューが表示されます。
    </p>

    <!-- 開閉状態を管理するチェックボックス -->
    <input
      class="basic-drawer-menu_toggle"
      type="checkbox"
      id="basic-drawer-menu-toggle">

    <!-- メニューを開くボタン -->
    <label
      class="basic-drawer-menu_open"
      for="basic-drawer-menu-toggle">
      メニューを開く
    </label>

    <!-- ドロワーメニュー -->
    <div class="basic-drawer-menu_drawer">

      <!-- メニュータイトル -->
      <div class="basic-drawer-menu_heading">
        メニュー
      </div>

      <!-- ナビゲーション -->
      <nav class="basic-drawer-menu_nav">

        <a class="basic-drawer-menu_link" href="#">
          ホーム
        </a>

        <a class="basic-drawer-menu_link" href="#">
          サービス
        </a>

        <a class="basic-drawer-menu_link" href="#">
          お知らせ
        </a>

        <a class="basic-drawer-menu_link" href="#">
          お問い合わせ
        </a>

      </nav>

      <!-- メニューを閉じるボタン -->
      <label
        class="basic-drawer-menu_close"
        for="basic-drawer-menu-toggle">
        閉じる
      </label>

    </div>

  </div>

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

ファイル構成と設置方法

このサンプルはHTMLとCSSの2ファイルで構成されています。HTMLではチェックボックスの状態を利用してドロワーメニューを開閉する仕組みを実装しており、JavaScriptを使用せずに動作します。CSSではレイアウトや配色、スライドアニメーション、レスポンシブ表示を設定しているため、シンプルな構成で導入できます。

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

各ファイルの役割
index.htmlはドロワーメニュー全体を構成するファイルです。タイトル、説明文、メニュー項目、開くボタンと閉じるボタンの文字を変更できます。チェックボックスとlabel要素を利用してメニューの開閉を行います。

style.cssはドロワーメニュー全体のデザインを設定するファイルです。横幅、背景色、文字色、余白、角丸、リンクデザイン、スライドアニメーションなどを変更できます。

設置方法・使い方
sampleフォルダへindex.htmlとstyle.cssを配置します。2つのファイルを同じ階層へ保存したあと、sample/index.htmlをブラウザで開いてください。「メニューを開く」をクリックすると左側からドロワーメニューが表示され、「閉じる」をクリックすると元の位置へ戻ります。

カスタマイズできる内容
index.htmlではタイトル、説明文、ボタンの文字、メニュー項目、リンク先を変更できます。企業サイトやサービスサイト、ポートフォリオサイトなど用途に合わせて自由に編集できます。

style.cssではドロワーメニューの横幅、背景色、文字色、余白、角丸、リンクデザイン、影、アニメーション速度などを変更できます。画面デザインに合わせて簡単に見た目を調整できます。

数値調整
style.css
max-width:700px;
全体の最大横幅です。値を大きくすると全体が横へ広がり、小さくするとコンパクトになります。

padding:32px;
コンテンツ全体の内側余白です。値を大きくすると余白が広がり、小さくすると詰まった表示になります。

width:320px;
ドロワーメニューの横幅です。値を大きくすると広くなり、小さくすると細くなります。

max-width:85%;
小さい画面で表示できる最大幅です。割合を大きくすると画面内で占める幅が広くなります。

padding:32px 24px;
ドロワーメニュー内側の余白です。値を大きくすると余白が広がります。

border-radius:8px;
ボタンやリンクの角丸です。値を大きくすると丸みが強くなり、小さくすると四角に近づきます。

gap:10px;
メニュー項目同士の間隔です。値を大きくすると項目の間隔が広がります。

transition:transform .3s ease;
ドロワーメニューがスライドする時間です。0.3秒で移動します。値を大きくするとゆっくり、小さくすると速く表示されます。

レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssのwidth:100%max-width:700pxにより画面幅に応じてレイアウトが調整されます。また、640px以下では余白を小さくし、ドロワーメニューも画面サイズに合わせて表示されるため、スマートフォン・タブレット・PCで利用できます。


こちらもおすすめ


コメント