はじめに 一昔前はモーダルの背景をスクロールさせないようにするのは結構面倒だった。 CSS だけでそれを実現できるので備忘録的に残す ✏️ DEMO 解説 下記 css が肝である css で:has が使えるようになったことで dialog タグが open かどうかで style を変えることができるようになった
ダイアログやハンバーガーメニューといったユーザーインタフェース(UI)は、多くのウェブサイトで利用されており頻繁に見かけます。どこでも見かけることから「簡単に作成できる」と思われがちですが、意外と実装が難しいUIです。たとえば、エンジニアでなくとも、以下のような現象に気付いたことはないでしょうか? ダイアログを表示中に、裏側のコンテンツがスクロールできてしまった ダイアログを表示中に、Tabキーでキーボード操作を行うと裏側を操作できてしまった ▼裏側がスクロールできてしまう例 ▼裏側がキーボード操作できてしまう例 これらを解決するためには、手軽な正攻法はなく、複雑なJavaScriptの制御が必要になります。本記事では、ダイアログやハンバーガーメニュー等のモーダル系のUIに存在する気付きづらい問題点と、解決方法を紹介します。ダイアログとハンバーガーメニューはそれぞれ役割の異なるUIですが、
<ul> <li><a href=""><img src="img1.jpg" alt=""></a></li> <li><a href=""><img src="img2.jpg" alt=""></a></li> <li><a href=""><img src="img3.jpg" alt=""></a></li> </ul> <div class="modal"> <div class="bigimg"><img src="" alt=""></div> <p class="close-btn"><a href="">✖</a></p> </div> サンプルでは、「ul」で複数画像が並ぶリストをマークアップしています。 その後に「modal」のクラスをつけたdiv要素を置き、その中に「bigimg」のクラスを付けたdiv要素を入れ、さらにその子要素として「img」タグを記述します。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く