TABLES AS IMPLEMENTED IN NETSCAPE 1.1

NETSCAPE 1.1 TABLES AND THE
PROPOSED HTML3.0 SPEC

ここで2、3の例をお見せできますが、 Netscape 1.1 は策定中のスペック、HTML 3.0 で記述されたとおり正確にに表を再生することに 大きなを関心を寄せてきました。ところが、我々が何かを実現するのと同じくらい速く策定中の スペックは変更されてしまいます。 唯一の慰めは、いつか、スペックは規格になり、変更が終わることです。


THE TABLE TAGS

<TABLE ...></TABLE>
これは全ての他の table タグを包括します。 もし他の table タグがあっても、TABLE タグの内側でなければ無視されます。 テーブルはデフォルトではborders(縁どり線)はありません。 必要ならばBORDER属性を指定してbordersを追加します。 TABLEの前後は行替えされます。 結局いまのところ、テーブルの配置する場合には、全体の配置を前後は行替えがついているように 変更してもらうしかありません。 テキストは、left や right margins でシフトして種々のポジションへ行そろえできるだけでなく、 テキストの流し込みにも対応しています。

<TR ...></TR>
これはテーブルの行(テーブルロー)を意味します。テーブルの中の行の数は、定義されていない 行の幅として ROWSPAN 属性を指定したセルがあっても、いくつの TR タグがそれの範囲内で含まれるかによって指定されます。 TR には ALIGNVALIGN 属性を付けることができます。 これが指定されていれば、その行の全てのセルのためのデフォルトのアライメントになります。

<TD ...></TD>
これは表のデータ(テーブルデータ)を意味して、そして表の標準のデータセルになります。 テーブルデータセルは、表の行の範囲内(<TR>〜</TR>の範囲)でしか使えません。 短い行は、右でブランクのセルでパッドされれば、各々の行は、セルの同じ数を指定しなくても だいじょうぶです。(なんだかわかんねーっす) 通常、セルのなかでは、HTMLドキュメントの本体で使える総てのHTML タグを使う事ができます。 テーブルデータのデフォルトのアライメント(文字の位置)は、 ALIGN=leftVALIGN=middle です。 これは、TR タグの中の他のアライメント指定があれば無効になります。また、その アライメント指定は、次のALIGNVALIGN指定があるまで有効です。 デフォルトではm全体のセル幅の範囲内で文章がフィットするように行替えが起きます。 TD の中でNOWRAP属性を指定すれば、そのセルのなかで行替えするのを妨げ ます。

<TH ...></TH>
これは表の見出し(テーブルタイトル)を意味します。これは、デフォルトで bold FONT、ALIGN=center である以外点でデータセルと同じです。

<CAPTION ...></CAPTION>
これは表にキャプションをつけます。CAPTION タグは、TABLE の内側の行やセル(<TR>〜</TR>、<TD>〜</TD>、<TH>〜</TH>)の外側 で使うべきです。キャプションは、省略すれば ALIGN=top となりますが、明示すれば、 ALIGN=bottom にアライメント(位置合せ)を指定することもできます。 テーブルセルと同様に、HTMLドキュメントの本体で使える総てのHTML タグを使う事ができます。 キャプションはいつもテーブルに対して水平、中央に置かれます。 そしてテーブルを幅の範囲内でフィットするために行替えします。

THE TABLE ATTRIBUTES

BORDER
この属性は、 TABLE タグ内で使います。もしあれば縁取りの線が全てのテーブルセルの まわりにつきます。もしなければ、縁取りはかかれませんが、境界は BORDER 属性がデフォルトでもつ幅だけスペースがとられます。

ALIGN
もし CAPTIONTABLEタグの内側にあれば、キャプションを表の上か下のどちらに 表示するかを、topbottom で指定します。省略値はtopです。 もし、TR, TH, または TD の内側にあれば、テーブルセルの内側 のテキストをセルの左側、右側、センターによせるかどうかを指定することができます。 値は leftcenterright です。

VALIGN
TRTHTD の中で使われる場合には、テーブルセルの内側のテキス トが、セルの上側、下側、センタリングのどれかを指定します。 行の中の全てのセルが同じベースラインに垂直に一直線に合うよう指定することもできます。 値は topmiddle bottombaseline です。

NOWRAP
もしこの属性が指定されていれば、どんなテーブルセル( THTD )でもこのセ ルの範囲内の行がセルの幅にフィットするように行替えしなくなります。 これは、用心しないと、セルの幅がとてもでかくなってしまうので、注意が必要です。

COLSPAN
この属性は、テーブルセル( THTD )の中で使え、 このセルがテーブルのいくつのカラムをまたがるかを指定します。 総てのセルのデフォルトは、COLSPAN=1です。

ROWSPAN
この属性は、テーブルセル( THTD) の中で使え、 そのセルがテーブルを何行をまたがるかを指定します。すべてのセルのデフォルトは、 ROWSPAN=1です。 行に広がるスパンはTR の指定で短縮されません。

A LITTLE MORE CONTROL

我々は、テーブルを作成しているとき、特に複雑な表を作成しているときに限ってかならず ちょっとした制御が欲しいと思うことに気がつきました。 このこのことから、絶えず進化しているHTML 3.0 スペックに追加して欲しいと思っている2、3の属性 を追加しました。

BORDER=<value>
BORDER 属性に値をとることを許すことによって、ドキュメントの作成者に2つのアド バンテージが生まれます。 まず、他よりテーブルを強調できます。1つの境界のなかに、サブ-テーブルを作る場合、もし両 方がデフォルトの同じ枠線幅であるより、片方の枠線の幅が太い方が見栄えがよくなります。 ゼロにセットすれば、セルの間の境界は元々予約された幅に戻ります。 次に、これによって特に圧縮したテーブルを作ることができます。

CELLSPACING=<value>
これは TABLE タグに追加した新しい属性です。 デフォルトでは、 Netscape 1.1 は2のセルスペーシングを使用します。 この属性は、テーブルの様子に凝り過ぎの人々のために少し多くの制御を追加します。 文字どおり、セルスペーシングは、テーブルで個々のセルの間で挿入されたスペースの量です。

CELLPADDING=<value>
これは TABLE タグのために新しい属性である。 デフォルトで、 Netscape 1.1 は1つのセルパディングを使用します。 セルパディングは、セルの境界とセルの中身の間のスペースの量です。 セルパディングをゼロにセットすると、テキストの端がセル境界とぶつかるので、セルの境めの 見映えが悪くなるかもしれません。

<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>

これで、可能な限りの最も圧縮したテーブルがつくれます。

Width=<value_or_percent>
この属性が TABLE タグで現れるときこのテーブル(ピクセル数による絶対の幅かドキュメント 幅のパーセンテージのどちらでも)の希望幅を指定することができます。 通常、テーブルと彼らのセルを見ためのいいテーブルを見せるために、複雑なヒューリティクスが適用され ます。WIDTH のセッティングは、それらのヒューリティクスや、指定された幅にテーブル をフィットさせる効果を無効にします。 指定された幅で全てのテーブルセルをフィットさせるのは、無理なこともありますが、Netscape 1.1は できるかぎり、それっぽく表示します。 THTD タグでこの属性が現れるとき、セル(ピクセルの中の絶対の幅かテー ブル幅のパーセンテージとしてのどちらも)の望まれた幅を記述することができます。通常、テーブ ルと彼らのセルを見ためのいいテーブルを見せるために、複雑なヒューリティクスが適用され ます。WIDTH のセッティングは、それらのヒューリティクスや、指定された幅にテーブル をフィットさせる効果を無効にします。 指定された幅で全てのテーブルセルをフィットさせるのは、無理なこともありますが、Netscape 1.1は できるかぎり、それっぽく表示します。

STUFF AND BOTHER (THE DETAILS)

表示されるエレメントを何も持たないブランクのセルは縁取りされません。 もし空でも縁取りの境界のあるセルを作りたければ、空白行か non-breaking スペースをセルに入れてください。 (<td>&nbsp;</td> or <td><br></td>)

現在策定中のHTML 3.0 spec.では、行とカラムスパンをセルがオーバーラップするテーブルを作成 といった誤用を許しますが、そうすると見ためが悪くなります。

たとえば、あなたは画像だけのセルを作成します。ところが、画像が適切にセルの内 側の中央にでないことがあります。これは、多分、HTML を以下のように書いたからでしょう。:

<td> 
 <img src="url">
</td> 

これは、セルの内側の余分な単一のスペース文字に行替えが置き、画像にまわりこんだのです 。ここには、ベースラインが、デフォルトで画像のボトムに位置合せされているスペースがあるので、セルの一方に 寄っているように見えるのです。代わりにこれを試してみてください:

 
<td><img src="url"></td> 

Find out more about Netscape at info@netscape.com, or call 415/528-2555.
Copyright © 1995 Netscape Communications Corporation


日本語版作成 Motohiko Takeda, Aleph Systems
Motohiko Takeda Mail:takeda@aleph.co.jp