ホームページ作成/装飾・レイアウトの動的変更 (HTML,CSS,JavaScript)

幅が狭い画面では表を展開! stacktable.jsの使い方(3ページ目)

横長のtableを、狭い画面でも見やすく自動展開してくれる「stacktable.js」の使い方を解説。ページを様々な画面サイズに対応させたい際に困るのが「横長の表」の扱いです。狭い画面だと、列幅が極端に狭くなって読みにくくなります。そこで便利なのが「stacktable.js」スクリプト。指定サイズより狭い画面では、表を行単位で展開(分解)してくれます。

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

横幅が狭い画面ではtableを自動展開してくれる「stacktable.js」を使う方法

「stacktable.js」スクリプトを使うには、HTML内に以下のような3点を記述します。

  1. head要素内で、JavaScriptとCSSファイルを読み込む
  2. body要素内に、画面幅に応じて展開させたいテーブルを記述
  3. body要素の末尾に、指定のテーブルに対してスクリプトを実行するよう記述

それぞれの記述方法を、以下に詳しくご紹介致します。

head要素内で、JavaScriptとCSSファイルを読み込む
まず、head要素内に、先ほどアップロードした3ファイル(JavaScriptとCSS)を読み込む記述を加えます。
<script src="jquery-1.8.1.min.js" type="text/javascript"></script>
<script src="stacktable.js" type="text/javascript"></script>
<link href="stacktable.css" rel="stylesheet">
上記の1行目は、「jQuery」の本体を読み込んでいます。2行目は「stacktable.js」スクリプトの本体を、3行目は「stacktable.js」で利用されるCSSを読み込んでいます。上記のソースは、3ファイルともHTMLファイルと同じディレクトリにある場合の記述です。もし、異なるディレクトリにアップロードした場合は、それに合わせて修正して下さい。

画面幅に応じて展開させたいテーブルを記述
次に、body要素内に、対象のテーブルを記述します。このとき、スクリプト側から操作できるようにid属性を使ってid名を割り振っておきます。また、class属性には値「large-only」を指定しておきます。
<table id="responsive-example-table" class="large-only">
: : : (テーブルの中身) : : :
</table>
id属性の値(上記では「responsive-example-table」)には、任意の名称を付けて構いません。しかし、class属性の値「large-only」は固定ですので、上記のままを記述して下さい。テーブルの中身には、表示させたい表組みを自由に記述できます。その際、先頭の行が「項目名を記述している行」だと解釈されます。後でご紹介するサンプルページのHTMLソースも併せてご参照下さい。

指定のテーブルに対してスクリプトを実行するよう記述
最後に、以下のJavaScriptソースを記述します。
<script>
   $('#responsive-example-table').stacktable({myClass:'stacktable small-only'});
</script>
上記のソースは、必ず対象のtable要素よりも後に記述して下さい。body要素の末尾(=</body>タグの直前)にでも書いておけば良いでしょう。なお、上記の「#responsive-example-table」の部分は、対象のtable要素に加えたid名を指定します。その後の「stacktable small-only」の部分は、修正せずにそのまま記述して下さい。

以上の記述で、狭い画面で閲覧された場合に、自動的に表組みが行単位で展開(分解)されるようになります。

「stacktable.js」を使ったサンプル

サンプルページの表示

サンプルページの表示

このスクリプト「stacktable.js」を使ったサンプルページを用意しています。実際にブラウザで表示させ、ウインドウ幅を変化させて表示を確認してみて下さい。また、このサンプルページのHTMLソースも、解説と併せてご参照下さい。

stacktable.jsのサンプルページ


 
最後に、「通常表示」と「展開表示」の各テーブルを別々に装飾する方法と、「通常表示」と「展開表示」が切り替わる横幅サイズの指定方法をご紹介致します。
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

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