ご注意! テーブルタグには終了タグ(開始タグにスラッシュを加えたもの。例:<TABLE>で開始したら</TABLE>で終了する)を省略できるものが多数あります。省略できるものは全て省略しています。また、タグの記述は全て全角文字で行いますので、そのまま張り付けることは出来ません。
まずは、この表をご覧になって下さい。
| 国語 | 社会 | 算数 | 理科
|
やすし | 大変良い | 良い | 普通 | 普通
|
きよし | 悪い | 普通 | 悪い | 大変悪い
|
やすこ | 普通 | 普通 | 良い | 普通
|
けいこ | 悪い | 大変悪い | 大変良い | 良い
|
ごく普通のオーソドックスな表です。
このソースは次のように記述されています。
<table border=1>
<tr><td><td>国語<td>社会<td>算数<td>理科
<tr><td>やすし<td>大変良い<td>良い<td>普通<td>普通
<tr><td>きよし<td>悪い<td>普通<td>悪い<td>>大変悪い
<tr><td>やすこ<td>普通<td>普通<td>良い<td>普通
<tr><td>けいこ<td>悪い<td>大変悪い<td>大変良い<td>良い
</table>
|
少し煩わしいですが、よく見て下さい。
まず<table>ですが、「ここから表が始まります」と宣言しているわけです。<table>の中にborder=1と書いてあります。枠線の太さは「1」ですよと指定しているわけです。
次の行以降ではまず最初に<tr>とありますが、これは各行の始まりを意味しています。<tr>の後の<td>は、各マス(セル)を表しています。
また、最初の<tr>の後には<td><td>と連続しているのがわかりますね。これは欠損セルと言い、中には何も記述されていません。こうすると、上の見本の表の左上のセルのように、マス(セル)が存在しない形になってしまいます。
もし、欠損セルではなくて、マスはあるのだけど中に何も書いていない、という状態にしたければ、全角スペースを入力して下さい。「<td> <td>」という風に記述します。そうすると、下の表のようになります。
| 国語 | 社会 | 算数 | 理科
|
やすし | 大変良い | 良い | 普通 | 普通
|
きよし | 悪い | 普通 | 悪い | 大変悪い
|
やすこ | 普通 | 普通 | 良い | 普通
|
けいこ | 悪い | 大変悪い | 大変良い | 良い
|
どう違うか、確認できましたか?
さて、上の表でなんの説明もなしに、borderという記述をtableタグの中に記述しましたが、これはいったい何なのでしょうか?
簡単に言えば、表のボーダー、つまり枠線のことですね。
これを色々と工夫することが出来ます。
まずはこれをご覧下さい。
唯我独尊 | 唯ちゃんが「我は独りで寂しいから尊んでみんな遊びに来てね」とささやく姿。
| |
弱肉強食
| 弱い肉ばかり食べずに強い肉も食べなさい、ということ。強い肉を食べるにはそれなりに苦労するが、苦労のおかげで自分も強くなれる。楽な方に流されていると、弱い肉ばかりを食べてしまうことになり、自分自身も弱くなるよと言う戒め。
| |
七転八倒 | 転んだのは7回なのに、8回も倒れた。つまり鈍くさいヤツという意味。
| |
実は上の文章には表組が使われています。
ただし、borderの指定をしていません(あるいは、border=0でもオッケーです)。だから、枠線が描かれていないのです。
この文章を表組を使わずに書いたらどうなるでしょうか。
唯我独尊 唯ちゃんが「我は独りで寂しいから尊んでみんな遊びに来てね」とささやく姿。
弱肉強食 弱い肉ばかり食べずに強い肉も食べなさい、ということ。強い肉を食べるにはそれなりに苦労するが、苦労のおかげで自分も強くなれる。楽な方に流されていると、弱い肉ばかりを食べてしまうことになり、自分自身も弱くなるよと言う戒め。
七転八倒 転んだのは7回なのに、8回も倒れた。つまり鈍くさいヤツという意味。
|
このように、レイアウトがぐちゃぐちゃになってしまいます。
仮に、自分のPCの画面上で綺麗にレイアウトしたとしても、画面の大きさに合わせてブラウザは自動的に改行しますから、他の誰かのPCでは綺麗に見えないのです。
では、この表の枠線を表示してみましょう。
唯我独尊 | 唯ちゃんが「我は独りで寂しいから尊んでみんな遊びに来てね」とささやく姿。
| 弱肉強食
| 弱い肉ばかり食べずに強い肉も食べなさい、ということ。強い肉を食べるにはそれなりに苦労するが、苦労のおかげで自分も強くなれる。楽な方に流されていると、弱い肉ばかりを食べてしまうことになり、自分自身も弱くなるよと言う戒め。
| 七転八倒 | 転んだのは7回なのに、8回も倒れた。つまり鈍くさいヤツという意味。
| |
ワープロならば画面を目で見てレイアウトが整っていれば、それでオッケーです。なぜなら最初から紙の大きさを指定してあるからです。しかし、ブラウザに紙の大きさはありません。各人が持っているPCのディスプレイの大きさが紙の大きさです。作者の意図に関わらず勝手にサイズを変えてしまいます。
ですから、改行やスペースで形を整えることは出来ないんです。
見た目のレイアウトを整然とさせたい、けれども枠線は煩わしくて嫌だ、そういう方にはテーブルタグを「border=0」での使用をお薦めします。
なお、実際には上の表は、さらにレイアウトを整えるためにもう少し技術を使っています。どうしても知りたい方はソースをごらんいただくとわかりますが、ここでは「見栄えを整形するのにテーブルタグは便利だ」ということをわかっていただければ結構です。また、さらに小さな画面環境ですと、この例の表示もグチャグチャになりますので、おかしいなと思った方はもう少し大きめのブラウザでごらんいただくか、フォントサイズを小さくしてご覧になって下さい。作者の意図が伝わると思います。
画面の大きさに左右されない表組みをしようと思ったら、width=***(***は数字。単位を書かなければピクセル) という記述をします。これは<table>の中で指定して表全体の横幅を指定することも、<td>の中に指定して、一つ一つのセルの横幅を指定することも出来ます。
border=0で、一部の文字だけ背景色を付けよう |
文字を強調する方法はいくつかあります。サイズを変えたり、フォントを変更したり、色を付けてみたり。
しかし、テーブルタグを使って、強調したい部分だけ背景色を指定することが出来ます。この講座の章見出しがそうですね。
こんな具合です。
これはborderを使って、例えば「1」にすると、こんな風になります。
ね、れっきとした表組になっているでしょう?
ソースは次の通りです。
<table bgcolor=#00dd00 border=1> <tr><td><font color=red>ワインの保存方法</font></table>
|
bgcolorという技を使っています。なお、このbgcolorは、<table>のタグの中にも指定できますが、<td>の中に指定して、セルごとに色を指定することもできます。
こんな具合です。
これに枠線を付けてみます。border=4でやってみましょう。
ね、楽しいでしょう?
まずは、下の表を見て下さい。
| 文 系 | 理 系
|
| 国語 | 社会 | 算数 | 理科
|
やすし | 大変良い | 良い | 普通 | 普通
|
きよし | 悪い | 普通 | 悪い | 大変悪い
|
やすこ | 普通 | 普通 | 良い | 普通
|
けいこ | 悪い | 大変悪い | 大変良い | 良い
|
文系と理系のところが、セルふたつ分を使った大きなセルになっています。
セルひとつひとつの開始を表す<td>タグの中に、「これは横にふたつ分の大きさですよ」と指示してやればいいのです。
なお、文字に色が付いているのは、この講座を見やすくするためで意味はありません。通常と同じく文字の前にフォントタグでいろ指定をするだけです。また、この部分だけ<center>タグで文字の位置を中央に置いています。
では次に、縦にふたつぶんを指示してみましょう。
このふたつの指示を使って書いた表を次に示します。
成績表 | 文 系 | 理 系
|
国語 | 社会 | 算数 | 理科
|
男 子 | やすし | 大変良い | 良い | 普通 | 普通
|
きよし | 悪い | 普通 | 悪い | 大変悪い
|
女 子 | やすこ | 普通 | 普通 | 良い | 普通
|
けいこ | 悪い | 大変悪い | 大変良い | 良い
|
ソースを示します。今回は、文字色など表組の技術に関係ないものも省略せずにそのまま提示しておきます。
<table border=1>
<tr>
<td colspan=2 rowspan=2><font color=#ff00ff><center>成績表 ←縦と横の両方を指示。
<td colspan=2><center><font color=#ff8888>文 系
<td colspan=2><center><font color=#ff8888>理 系
<tr>
<td>国語
<td>社会
<td>算数
<td>理科
<tr>
<td rowspan=2><font color=blue>男<br>子 ←改行で「男子」を2行に表示。
<td>やすし
<td>大変良い
<td>良い
<td>普通
<td>普通
<tr>
<td>きよし
<td>悪い
<td>普通
<td>悪い
<td>大変悪い
<tr>
<td rowspan=2><font color=blue>女<br>子
<td>やすこ
<td>普通
<td>普通
<td>良い
<td>普通
<tr>
<td>けいこ
<td>悪い
<td>大変悪い
<td>大変良い
<td>良い
</table>
|
いかがですか?
ここで注意しなくてはいけないのは、rowspanを使った行とそうでない行では<td>の数が異なるということですね。
枠線の太さを自由に設定することが出来ます。外周の太さについてはborderで指示します。
では、それぞれの仕切りの枠線はどうするのでしょうか? 下の表を見て下さい。
成績表 | 文 系 | 理 系
|
国語 | 社会 | 算数 | 理科
|
男 子 | やすし | 大変良い | 良い | 普通 | 普通
|
きよし | 悪い | 普通 | 悪い | 大変悪い
|
女 子 | やすこ | 普通 | 普通 | 良い | 普通
|
けいこ | 悪い | 大変悪い | 大変良い | 良い
|
全部の線が太くなりましたね。
これは<table>タグの中に、「cellspacing」で指定します。
残念ながら、僕はこの表に満足できません。一斉に全ての線が太くなってしまうからで、線ごとに太さを変えたほうがメリハリのある表が出来ます。
そこで、次のような表を作ってみました。
成績表 | | 文 系 | | 理 系
|
| 国語 | 社会 | | 算数 | 理科
|
|
男 子 | やすし | | 大変良い | 良い | | 普通 | 普通
|
きよし | | 悪い | 普通 | | 悪い | 大変悪い
|
|
女 子 | やすこ | | 普通 | 普通 | | 良い | 普通
|
けいこ | | 悪い | 大変悪い | | 大変良い | 良い
|
これは欠損セルを使った目の錯覚です。
太くしたい横線をいれるときに<tr>を三つ、縦線を太くしたいところには<td>をふたつ挿入しています。(ネスケではこの方法で思い通りに表現できなかったように思います)
ところで、外枠線の太さはborderで指定するわけですが、全体が立体的に浮き上がったように表現されます。ちょうど左上から光が当たったように上と左が白、右と下が黒になります。
しかし、表全体をbgcolor=#00ff00で明るい緑色にしてみたときはどうでしょうか?
立体感を表す外周部分にもそれにふさわしい色合いになってもらいたいものです。これを指定することが出来ます。
左の表は<table>の中に、bgcolor=#00ff00を指定したものです。
一方、右の表は枠線の色を指定したものです。比べてみて下さい。
成績表 | | 文 系 | | 理 系
| | 国語 | 社会 | | 算数 | 理科
| |
男 子 | やすし | | 大変良い | 良い | | 普通 | 普通
| きよし | | 悪い | 普通 | | 悪い | 大変悪い
| |
女 子 | やすこ | | 普通 | 普通 | | 良い | 普通
| けいこ | | 悪い | 大変悪い | | 大変良い | 良い
|
|
成績表 | | 文 系 | | 理 系
| | 国語 | 社会 | | 算数 | 理科
| |
男 子 | やすし | | 大変良い | 良い | | 普通 | 普通
| きよし | | 悪い | 普通 | | 悪い | 大変悪い
| |
女 子 | やすこ | | 普通 | 普通 | | 良い | 普通
| けいこ | | 悪い | 大変悪い | | 大変良い | 良い
|
|
このふたつの表の違う部分だけ、つまり最初のテーブルタグの違いを下に記述しておきます。
左の表 | <table border=4 cellspacing=1 bgcolor=#00ff00>
|
右の表 | <table border=4 cellspacing=1 bgcolor=#00ff00 bordercolorlight=#ddffdd bordercolordark=#00bb00>
|
上の左の表はメリハリがはっきりしています。一方右の表は落ち着いた感じがします。好きな方を選んで下さい。
さて、上のソースで気がついた人がいると思いますが、何も表が緑だからって、外周の枠線を緑系統にする必要はないんです。
こんなのはいかがでしょうか?
成績表 | | 文 系 | | 理 系
|
| 国語 | 社会 | | 算数 | 理科
|
|
男 子 | やすし | | 大変良い | 良い | | 普通 | 普通
|
きよし | | 悪い | 普通 | | 悪い | 大変悪い
|
|
女 子 | やすこ | | 普通 | 普通 | | 良い | 普通
|
けいこ | | 悪い | 大変悪い | | 大変良い | 良い
|
これは、bordercolorlightにyellowを、bordercolordarkにredを指定したものです。
またこれを利用して、ちょっと風変わりな表を作ることもできます。
成績表 | | 文 系 | | 理 系
|
| 国語 | 社会 | | 算数 | 理科
|
|
男 子 | やすし | | 大変良い | 良い | | 普通 | 普通
|
きよし | | 悪い | 普通 | | 悪い | 大変悪い
|
|
女 子 | やすこ | | 普通 | 普通 | | 良い | 普通
|
けいこ | | 悪い | 大変悪い | | 大変良い | 良い
|
立体感が無くなりましたが、あまり使っている人がいないので、新鮮に感じると思います。ソースは次の通りです。(エクスプローラーの場合。ネスケの場合は表現が異なるはずです)
<table border=2 cellspacing=1 bgcolor=#00ff00 bordercolor=#0000ff>
|
さあ、この講義もあとひとふんばりです。
次の三つの表を見比べてみて下さい。
文字のまわりのスペースに差がありますね。これはテーブルタグの中にcellpaddingで指定します。上の表のソースは次の通りです。*の部分に数字が入ります。上から順に「1」「3」「5」「10」です。
<table bgcolor=orange border=3 cellspacing=1 cellpadding=*> |
見出しのかわりに使えるほか、ちょっとしたリンクボタンとしても使用できます。画像なんかに比べるとずっと軽いですから、利用価値が大きいです。
この見出しのように、枠線が欲しい場合は便利ですが、枠線がいらない場合はスタイルシートで背景色を特定の文字だけに対して指定することが出来ますので、そちらも利用してみてください。