ホームページ作成/表示・非表示の切替 (HTML,CSS,JavaScript)

クリックで「展開できる」ボックスを作る(2ページ目)

最初はタイトルだけが表示され、本文領域は折り畳まれている状態。閲覧者がボタンをクリックすることで本文領域を展開(表示)させられるようなボックスを作ってみましょう。邪魔にならないボックスが作れます。

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

スタイルシートで「折り畳まれた状態」を作る

標準で「折り畳まれた状態」にするには、スタイルシートを使って「本文領域を初期状態では非表示に」しておくだけです。 ですから、前回の記事で記述したスタイルシートソースに、以下の行を追記するだけで済みます。

■追加するスタイルシートソース:

div.CollapsibleBox div.CollapsibleBoxBody {
   display: none;
}

たったの3行です。
上記ソースでは、「CollapsibleBoxBody」クラスのdiv要素に対して、displayプロパティに値「none」を指定しています。

  • 「CollapsibleBoxBody」クラスのdiv要素とは、ボックス内の本文領域を作っているdiv要素です。
  • displayプロパティは、要素の表示状態を指定するプロパティで、値に「none」を指定すると非表示状態にできます。

つまり、上記のスタイルシートソースは、「ボックスの本文領域を非表示にする」というスタイルを作っていることになります。

標準で「折り畳まれた状態」になる……が、

先ほどのスタイルシートソースを追記した状態で冒頭のサンプルを表示させると、以下のように見えます。
タイトルバーだけが表示され、標準で「折り畳まれた状態」になっていることがわかります。

……が、「折りたたみ/復元」ボタンをクリックしても何も起こりません。 JavaScriptを記述していないわけではありません。(「閉じる」ボタンは機能します。)
なぜ「折りたたみ/復元」ボタンが機能しないのかというと、 ここで呼び出しているJavaScriptは、

  • 今、標準状態なら「非表示」状態にする
  • 今、「非表示」状態なら標準状態に戻す

という処理を行うだけだからです。ここでは「標準状態」=「非表示状態」なため、どちらにしても「非表示」になってしまい、本文領域は消えたまま変化しないのです。

したがって、JavaScriptにも追記が必要です。
次のページでは、JavaScriptソースを追加して「展開する関数」を作ります。

  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます