tableタグ
table(表組)を作る時に使用するタグです。
よくtableでサイトのレイアウトまでしてしまう人がいますが、そういう目的としては使わないでください。
基本的なテーブルを作成するには
<!-- HTML --> <!-- thead→tfoot→tbodyの順で記述だが表示はthead→tbody→tfootになる --> <table> <thead> <tr> <th></th> </tr> </thead> <tfoot> <tr> <td></td> </tr> </tfoot> <tbody> <tr> <td></td> </tr> </tbody> </table>
theadやtbodyはjavascriptを組み込んで操作する(親ノードの指定など)ときくらいしか使ったことがないので、実際はもっと短縮した形、
<!-- HTML --> <table> <tr> <th></th> </tr> <tr> <td></td> </tr> </table>
で覚えておくとよいでしょう。
<tr>から</tr>までが横1列、<td>から</td>までがその列の中にある1つのセルを示します。<th>はテーブルの見出し用のタグで、なくても大丈夫です。
<!-- HTML --> <table border="1"> <tr> <th>見出し1</th> <th>見出し2</th> </tr> <tr> <td>セル1</td> <td>セル2</td> </tr> </table>
tableタグの中にborder="1"と入れると、枠線付のテーブルが描画できます。入れないと枠線が表示されません。
| 見出し1 | 見出し2 |
|---|---|
| セル1 | セル2 |
エクセルのセルのようにセル同士の連結もできます。
横のセルを連結するのはcolspan、縦のセルを連結するのはrowspanです。
<!-- HTML --> <table border="1"> <tr> <th colspan="3">見出し1</th> </tr> <tr> <td rowspan="2">セル1</td> <td>セル2</td> </tr> <tr> <td>セル3</td> </tr> </table>
| 見出し1 | ||
|---|---|---|
| セル1 | セル2 | |
| セル3 | ||
これで終わりにしたいところですが、今の状態だとテーブルの枠線が2重線になっているし、枠線の色も変えられないし、不便です。
そこで、CSSでtableとthやtdに対して枠線を設定し、collapseで枠線を1本線にしてみましょう。
<!-- HTML --> <table> <tr> <th colspan="3">りんごの栄養素一覧</th> </tr> <tr> <td rowspan="2">ビタミン</td> <td>ビタミンC:4mg/100g</td> </tr> <tr> <td>ビタミンB1:0.02mg/100g</td> </tr> <tr> <td>ミネラル</td> <td>カリウム:110mg/100g</td> </tr> </table>
/* CSS */
table,th,td {
width:400px;
margin:auto;
border:solid 1px #00f;
border-collapse:collapse;
margin-top:20px;
}
th {
background:#55f;
color:#fff;
}
上記をサンプルに追加(tableは</p>のあと、<h2>の前に)すると、サンプル。
もうひとつ、テーブルのセルに何も値を入れたくないときありますよね?そういう時はボーダーがうまく表示されないので空白スペースを打ったりしていることもあると思います。 それを表示させるのがempty-cellsプロパティとなります。
/* CSS */
td {
empty-cells:show;
}
テーブルにソート機能を追加する
テーブルのソート機能付加にはjQueryのプラグインを使います。ちょっと敷居が上がってしまったかもしれませんが、今はこんなことができるんだよとくらいに考えてください。
| Last Name | First Name | Due | Web Site | |
|---|---|---|---|---|
| Smith | John | jsmith@gmail.com | $50.00 | https://www.jsmith.com |
| Bach | Frank | fbach@yahoo.com | $50.00 | https://www.frank.com |
| Doe | Jason | jdoe@hotmail.com | $100.00 | https://www.jdoe.com |
| Conway | Tim | tconway@earthlink.net | $50.00 | https://www.timconway.com |
tablesorterの配布サイトへ行き、ページ最下部のDownloadのところから「jquery.tablesorter.zip」をダウンロードします。
解凍後フォルダ内現れる、jquery-latest.js、jquery.tablesorter.js、themesフォルダの中の好きな色のcssやらgif画像を読みこまないとなので好きな場所に移動します。(cssは自style.cssに追記してもOK)。そして下記のようにhead内に記述します。
<head> <link rel="stylesheet" type="text/css" href="../table/themes/blue/style.css" media="all" /> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript" src="../table/jquery-latest.js"></script> <script type="text/javascript" src="../table/jquery.tablesorter.js"></script> </head>
そしたら、Exsamplesの中から自分好みのスキンを選び、クリックします(上記例はBasicの一番上のやつ)。
そうするとデモページになるので、そこにあるJavaScriptとHTMLの構文をコピーして自サイトへ貼り付ければOKです。
コメントor補足情報orご指摘あればをお願いします。
- << 前のページ
- 次のページ >>
