モーダル

中央モーダルダイアログ

ボタンを押すと画面中央に開くモーダルダイアログです。半透明の黒いオーバーレイ( rgba(0,0,0,.5) )で背景を覆い、その上に白いカードを place-items:center で中央配置しています。

プレビュー

このパーツの使いどころと実装ポイント

ボタンを押すと画面中央に開くモーダルダイアログです。半透明の黒いオーバーレイ(rgba(0,0,0,.5))で背景を覆い、その上に白いカードをplace-items:centerで中央配置しています。表示の切り替えはmc.showクラスの付け外しでdisplayを変えるだけのシンプルな仕組みで、確認用の見出し・本文・「キャンセル/実行」の2ボタンという、確認ダイアログの定番構成になっています。

向いている場面

  • 削除や送信など、取り消せない操作の前の最終確認
  • 会員登録やメール購読への誘導ポップアップ
  • 規約同意やクーポン表示など、注目を集めたい一時的な案内

カスタマイズの勘所

カードの幅は300px固定なので、長い文章を入れるならmax-widthに変えて狭い画面でも収まるようにすると安全です。「実行」ボタンは目立つ色、「キャンセル」は控えめな色にすると、押し間違いを減らせます。オーバーレイをクリックしたら閉じる挙動を足すと操作感が良くなります。

アクセシビリティの注意

開いている間はキーボードのフォーカスをモーダル内に留め、Escキーで閉じられるようにすると、キーボード利用者にも親切です。背景のスクロールを止める処理も加えると、操作が散らからずに済みます。

このパーツは JavaScript が含まれます。HTML の最後に <script> タグで読み込むか、外部 JS ファイルに切り出してください。

よくある質問

背景の暗い部分をクリックして閉じられるようにできますか?
標準ではキャンセルボタンで閉じますが、オーバーレイ要素のクリックを検知し、カード自身がクリックされた場合は無視する条件を加えると、背景クリックで閉じる挙動を実現できます。
モーダルを開いている間、後ろのページがスクロールしてしまいます。
モーダルを開くタイミングでbody要素にoverflow:hiddenを当て、閉じるときに戻すと背景のスクロールを止められます。これにより操作対象がモーダルに集中します。