東京都新宿区のWeb制作会社 - ウェブラボ株式会社

クリエイターブログ

簡単なモーダルウィンドウの作り方を調べてみる

2024.01.19 Posted by

こんにちは、クリエイターブログです。今回は簡単なモーダルウィンドウの作り方ついて紹介したいと思います。

 

従来jQueryなどのプラグインを用いて運用することが多いモーダルウィンドウですが、もっと簡単に今なら実装できるんじゃないかと思い方法を調べてみました。

そこで、現状一番簡単そうな方法を紹介がてら試しに実装してみようと思います。

 

今回用いるのはdialogタグを用いてjavascriptのshowModal()メソッドを利用する方法です。

以下の開発者向けドキュメントにも書いてある通り、主要ブラウザは一通り対応されています。

HTMLDialogElement: showModal() メソッド – Web API | MDN

 

それとCSSの疑似クラス:modalを合わせて使用します。

こちらは一部対応されて無いものもありますが、あまり気にしなくてもいいでしょう。

“:modal” | Can I use… Support tables for HTML5, CSS3, etc

 

では実装していきます。HTML部分は以下になります。

 

■HTML

 

dialogタグでモーダルウィンドウで表示したい部分を囲んで、表示するボタン、閉じるボタンも合わせて作成します。

 

次にjavascript部分です。

 

■javascript

 

記述量は非常に少なく、とてもシンプルになります。showModal()、close()がモーダルウィンドウに関するメソッドになります。

bodyにクラスfixed付与する処理を入れていますが、CSSと合わせて説明します。

 

■CSS

 

bodyにoverflow:hidden;をかけてあげることにより、モーダルウィンドウの背景より後ろの部分がスクロールできなくなります。

これで操作する際の煩わしさを無くすことができます。iOSは16以降でのみの対応みたいなのでご注意ください。

あとはdialog:modalがモーダルウィンドウ、dialog::backdropはモーダルウィンドウの背景となるので自由にカスタマイズしてあげましょう。

 

これらを用いて完成したDEMOは以下になります。

DEMO

 

このようにシンプルなモーダルウィンドウなら大した労力を使わずに簡単に作ることができます。

CSSもほとんど書く必要もありません。

 

ただギャラリー機能や外部HTMLなどを表示させたい場合は自作するのは面倒なので、従来通りjQueryなどのプラグインを使用することになりそうですね。

showModal()メソッドを用いた方法は、汎用性はあまり無いですが用途はどこかでありそうです。

 

今回はこの辺で終わりたいと思います。以上クリエイターブログでした。

オリエンシートダウンロード

採用サイト 絶対に外せない5つのチェックポイント

オリエンシートダウンロード

PAGETOP

お問い合わせContact

まずはお気軽にご相談ください。

Web制作・コンサルティング・システム開発に関するお問い合わせ・お見積もり依頼は、
電話・問い合わせフォームより受け付けております。(受付時間:平日9:30〜18:30)

〒160-0004 東京都新宿区四谷4丁目33-2
マーキュリースクエア4F

TEL:03-5366-3277 FAX:03-5366-3278