CSS辞書
UIレシピ集に戻る

ドロワーメニュー

ナビゲーションBaseline 広く利用可能

ハンバーガーボタンで左からスライドして開くドロワー。transformでの開閉と背景オーバーレイ、aria-expandedの更新を最小のJSで行います。

プレビュー

Live

プレビュー枠は右下をドラッグすると高さを変えられます

コードを編集して試す

書き換えるとプレビューに即反映されます。変更はこのページ内だけで、リロードすると元に戻ります。

HTML
CSS
JS

仕組みの解説

ドロワー本体は position: fixed で左端に固定し、初期状態は transform: translateX(-100%) で自分の幅ぶん画面外に置きます。開閉は is-open クラスで transform を切り替えるだけで、transformはレイアウト再計算を起こさないため滑らかです。JSの仕事は「クラスの付け外し・背景の表示・aria-expanded の更新」の3点に絞っています。背景クリックでも閉じられます。

実装のポイント

Escキーで閉じる・フォーカスをドロワー内に閉じ込める、まで必要なら<dialog>で作る方が早いです(モーダルダイアログのレシピ参照)。

AIに依頼するときの文例

左からスライドして開くドロワーメニューを作ってください。transform: translateX(-100%)とクラス切り替えで開閉し、背景オーバーレイのクリックでも閉じ、aria-expandedとaria-controlsを正しく更新する最小のJSを付けてください。

使っているプロパティ