HTML, CSSで作る閉じるボタンの作成方法【初心者向け】

こんにちはTakaです。今回は『閉じるボタン』を簡単に作る方法をご紹介します。ここでいう閉じるボタンとは、Windowを非表示にするボタンのことです。

 

HTML,CSSで閉じるボタンを作るメリット

閉じるボタンはJavascriptを使って作成することも可能ですが、HTMLとCSSだけでボタンをつくると画面を遷移しないでコンテンツを閉じることができます。そのため、Webサーバにリクエストする回数を最小限にすることが可能です。また、JavaScriptのDOM操作がいらないので、その分だけブラウザの負荷を軽減できます。

HTML,CSSで閉じるボタンを作るサンプルコード

まずはHTML, CSSで作る場合のソースコードを見ていきましょう。後ほどJavascriptを使う場合の方法も解説します。

HTML

HTMLはチェックボックスとラベル、閉じるコンテンツだけです。ボタンのコントロール用クラス(add-control)を親要素にしています。閉じるボタンはチェックボックスとラベルを使って作ってみました。

CSS

CSSは、チェックボックスのラベルにボタンの形と、ボタンを押したときのスタイルを入れました。割とシンプルなデザインにしています。

また、チェックボックスを非表示にする必要があるので、display: noneにしています。

CSSの処理を簡単に説明すると、

・チェックボックス(checkbox)を非表示

・閉じるボタン(bnt)をクリック→閉じるボタン、コンテンツボックス(box)を非表示

こんな感じになります。

では実際に動かしてみましょう。

こちらが実行結果です。(Code Pen)

See the Pen
close-btn
by Taka (@taka197)
on CodePen.

これでCSSで閉じるボタンの処理ができました。思ったより簡単ですね。

Javascriptで閉じる方法

先ほどはHTML,CSSを使って閉じるボタンを作る方法を紹介しましたが、Javascriptを使って閉じる方法も一応紹介していきます。

window.closeメソッドを呼び出す

window.closeメソッドは、WebページをJavaScriptで閉じるために用意されているメソッドです。このメソッドが呼ばれると、現在開かれているウィンドウが閉じられます。コードは以下のように書きます。

※ただし、このメソッドには制限があり、原則としてwindow.openで開かれたWebページしか閉じることができません。そのためブラウザによってはwindow.openで開いたページでないと閉じることが出来ないので注意しましょう。

window.closeメソッド以外の方法

以下のコードを書けばwindow.closeを使わずに閉じることが可能です。

簡単に説明すると、一回自分自身に対して空タブを開くことでjsの操作対象にしてその上でclose()を実行しているというイメージです。ちなみにFireFoxではこちらの方法でも空タブが残ってしまうので注意しましょう。

Javascriptを使った場合のサンプルコード

下記がjavascriptを使った場合のサンプルコードになります。今回はGoogleのトップページを開くボタンと閉じるボタンを用意しました。

 

OpenでGoogleのトップページを開き、Closeで閉じることができます。

こちらが実行結果です。

See the Pen
close-btn
by Taka (@taka197)
on CodePen.

まとめ

いかがでしたか?今回は「閉じるボタン」について解説しました。閉じるボタンの挙動はプログラミング初心者にとっては見た目と動きで難しく感じてしまう方もいますが、実際はとても簡単です。是非参考にしてみてくださいね。

BLOGコンテンツをパーソナライズします

あなたは現在「プログラミング学習者」ですか?