クリエイターブログ

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

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つのチェックポイント

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

CONTACT

お電話でのお問い合わせ

03-5366-3277

受付時間:平日9:30〜18:30

メールフォームからのお問い合わせ

お問い合わせ(東京本社)

PAGETOP

Document資料請求

Contactお問い合わせ