複数モーダルを切替
ボタンごとに異なるモーダルを開き、複数のモーダルを切り替えて表示できるサンプルです。
商品詳細の比較や、案内を分けて表示したいときに便利です。
コードについて
本記事のコードは AI(ChatGPT)による生成をベースに作成・調整しています。ご利用の環境でテストの上ご使用ください。
免責 本コードの利用に伴う不具合・損害について、当サイトは責任を負いません。自己責任にてご利用ください。
免責 本コードの利用に伴う不具合・損害について、当サイトは責任を負いません。自己責任にてご利用ください。
デモ
コードをコピーして使おう!
/* =========================================
モーダルウインドウ #10(複数モーダルを切替)
CSSコード全文
スコープ:#modal10-demo
========================================= */
/* ▼全体ラッパー */
#modal10-demo{
font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans JP","Yu Gothic UI",sans-serif; /* フォント指定 */
color:#0f172a; /* 基本文字色 */
}
/* ▼ボタン配置用のラッパー */
#modal10-demo .btns{
display:flex; /* 横並び */
gap:12px; /* ボタン間隔 */
margin:16px 0; /* 上下余白 */
}
/* ▼ボタン本体 */
#modal10-demo button{
padding:8px 14px; /* 内側余白 */
border-radius:8px; /* 角丸 */
border:1px solid #0b6bff; /* 枠線(青) */
background:#fff; /* 背景色(白) */
color:#0b6bff; /* 文字色(青) */
cursor:pointer; /* カーソル変更 */
}
#modal10-demo button:hover{
background:#0b6bff; /* ホバー時背景を青 */
color:#fff; /* ホバー時文字色を白 */
}
/* ▼モーダル背景(オーバーレイ) */
#modal10-demo .overlay{
position:fixed; /* 画面全体に固定 */
inset:0; /* 四方ゼロで全画面 */
background:rgba(0,0,0,.55); /* 半透明黒背景 */
display:none; /* 初期は非表示 */
place-items:center; /* 中央寄せ(Grid利用) */
z-index:9999; /* 最前面に配置 */
}
#modal10-demo .overlay.active{ display:grid; }
/* ▼モーダルダイアログ本体 */
#modal10-demo .dialog{
background:#fff; /* 背景白 */
padding:20px; /* 内側余白 */
border-radius:12px; /* 角丸 */
max-width:420px; width:90%; /* 最大幅とレスポンシブ */
box-shadow:0 20px 40px rgba(0,0,0,.25); /* 影 */
transform:translateY(10px); /* 初期位置(下へ) */
opacity:0; /* 初期は透明 */
transition:.2s; /* アニメーション */
}
#modal10-demo .overlay.active .dialog{
transform:translateY(0); /* 表示時は元位置へ */
opacity:1; /* フェードイン */
}
/* ▼閉じるボタン */
#modal10-demo .close-btn{
margin-top:12px; /* 上余白 */
padding:6px 12px; /* 内側余白 */
border:none; /* 枠線なし */
border-radius:6px; /* 角丸 */
background:#0b6bff; /* 青背景 */
color:#fff; /* 白文字 */
cursor:pointer; /* カーソル変更 */
}
コメント