コピペで完結!モーダルウインドウ#05【html・cssのみで動かせるモーダル】

html/css/js

html・cssのみで動かせるモーダルウインドウ

JavaScriptなしで、HTML+CSSだけで開閉できるモーダルの最小実装です。 チェックボックスと

コードについて 本記事のコードは AI(ChatGPT)による生成をベースに作成・調整しています。ご利用の環境でテストの上ご使用ください。
免責 本コードの利用に伴う不具合・損害について、当サイトは責任を負いません。自己責任にてご利用ください。

デモ

「モーダルを開く」→ 背景クリック or 「閉じる」で閉じます(※ESCやフォーカストラップは非対応)。

タブ切替のコードブロック(コピー可)

--> <!-- メタ情報:作成者・日付・注意 -->
<section class="cssmodal" id="cssonly-05"> <!-- デモ用モーダルのスコープ(任意ID) -->
  <input class="toggle" type="checkbox" id="modal05-toggle"> <!-- 視覚非表示のトグル(ONで表示) -->
  <label class="btn" for="modal05-toggle">モーダルを開く</label> <!-- 開くボタン(labelでチェックON) -->
  <div class="layer" aria-hidden="true"> <!-- 暗幕+本体の入れ物(初期は非表示) -->
    <label class="bg" for="modal05-toggle"></label> <!-- 背景クリックで閉じる(チェックOFF) -->
    <div class="dialog" role="dialog" aria-labelledby="ttl-cssonly-05" tabindex="-1"> <!-- 本体カード:A11y属性 -->
      <h3 id="ttl-cssonly-05">CSS-Only モーダル</h3> <!-- ダイアログの見出し -->
      <p>このモーダルは<strong>HTML+CSSだけ</strong>で開閉します。チェックONで表示、背景またはボタンでOFF。</p> <!-- 説明文 -->
      <label class="btn" for="modal05-toggle">閉じる</label> <!-- 閉じるボタン(labelでチェックOFF) -->
    </div> <!-- /.dialog -->
  </div> <!-- /.layer -->
</section> <!-- /.cssmodal -->

運用のヒント

  • 複数設置:同ページに複数置く場合、id="modal05-toggle"id="cssonly-05" を重複させないでください。
  • テーマとの衝突回避:必要に応じてセレクタに親スコープ(例:.entry-content)を追加してください。
  • JS機能が必要な場合:ESCで閉じる、フォーカストラップ、背面スクロール固定などはJS追加で実現できます。

コメント