* table 要素 cellpadding 属性 (HTML, XHTML 1)

[1] [[HTML]] の [CODE(HTMLe)[[[table]]]] 要素の
[DFN[[CODE(HTMLa)[cellpadding]] 属性]]は、
UA が表のこまとこまの罫線の間に取るべき間隔を指定します。

仕様書: [[HTML 4]]
<IW:HTML4:"struct/tables.html#adef-cellpadding">


[[#comment]]


** スタイル・シート代替

[2] この属性は HTML 4 では'''非推奨'''とされていませんが、
[[スタイル・シート]]で指定するほうが望ましいでしょう。

[3] [[CSS]] では [SAMP(CSS)[[[padding]]]] が使えます。

[[#comment]]


** 属性値

[4] この属性の値は [CODE(SGML)[%[[Length]]]]
です。 [[SGML]] 的には [CODE(SGML)[[[CDATA]]]] です。

[8]
画素値 (無単位整数) で指定すると、4辺ともその幅が取られます。
百分率値で指定すると、利用可能な垂直空間に対してその割合分上下同じ高さで
(それぞれ [CODE(math)[[VAR[p]]/2 %]], あわせて [CODE(math)[[VAR[p]] %]] 分)、
利用可能な水平空間に対してその割合分左右同じ幅で (同)、
それぞれ間隔が取られます。

[5]
この属性は省略可能です。

[10]
[[Netscape Navigator 1.1]] では[[既定値]]が 1
だったようです。

;;
[CITE@en[Tables in Netscape 1.1]] 
([TIME[2007-07-01 20:32:43 +09:00]] 版) 
<http://wp.netscape.com/assist/net_sites/tables.html>

[[#comment]]


** レンダリング

[7] 次の図の [SAMP[;]] の部分が [CODE(HTMLa)[cellpadding]]
です。

[PRE[
+-------------+
|#############|
|#;;;#;;;#;;;#|
|#;1;#;2;#;3;#|
|#;;;#;;;#;;;#|
|#############|
|#;;;#;;;#;;;#|
|#;4;#;5;#;6;#|
|#;;;#;;;#;;;#|
|#############|
+-------------+
]PRE]

:[SAMP[|]]:[CODE(HTMLa)[[[border]]]]
:[SAMP[#]]:[CODE(HTMLa)[[[cellspacing]]]]
:[SAMP[;]]:[CODE(HTMLa)[cellpadding]]

[[#comment]]


** 他との関係

[9] [[表]]や[[列]]が [CODE(HTMLa)[[[width]]]]
によって固定幅にされていても、 UA は必要であれば
[CODE(HTMLa)[cellpadding]] のために幅をひろげても構いません
(しひろげなくても構いません) [HTML 4]。

[[#comment]]


** 例

[6]
[PRE(HTML)[
<TABLE border cellspacing="20" cellpadding="20%">
<TR> <TD>Data1 <TD>Data2 <TD>Data3
</TABLE>
]PRE]

(HTML 4 仕様書より)

この例では、各こまの上下に利用可能な垂直領域の 10% ずつ
(合計で 20%)、左右に利用可能な水平領域の 10% ずつがとられます。

[[#comment]]

** 歴史

*** 誕生

[15]
[[Netscape Navigator 1.1]] が実装しました。

;;
[CITE@en[Tables in Netscape 1.1]] 
([TIME[2007-07-01 20:32:43 +09:00]] 版) 
<http://wp.netscape.com/assist/net_sites/tables.html>

[[#comment]]

*** 標準化

[14] 元々 [[HTML+]] や [[HTML 3.0]] の最初の [[I-D]]
に [CODE(HTMLa)@en[[[cellpadding]]]] [[属性]]や
[CODE(HTMLa)@en[[[cellspacing]]]] [[属性]]は含まれていませんでした。

[11] [[Bert Bos]] は [[Dave Raggett]] の [[HTML 3.0]]
案に対するコメントを [[ietf-html]] 
の[[メイリング・リスト]]に送っています。
それによると [[Dave Raggett]] の新しい提案には
[CODE(HTMLa)@en[[[cellpadding]]]] [[属性]]と
[CODE(HTMLa)@en[[[cellspacing]]]] [[属性]]が含まれていたようです。

;; 
[CITE[html-wg-95q2: More comments on the HTML 3.0 draft]] 
<http://ksi.cpsc.ucalgary.ca/archives/HTML-WG/html-wg-95q2.messages/0253.html>

;; 残念ながらその Dave の提案は見つかっていません。

[16] Bert 
の[[スタイル・シート]]で指定できるではないかという指摘に対し、
Dave は
- 十分一般的なものである
- [[Netscape]] が既に実装している

と述べています。

;; [CITE@en[html-wg-95q2: Re: More comments on the HTML 3.0 draft]] 
([[Dave Raggett]] 著、[TIME[1995-04-25]]) 
<http://ksi.cpsc.ucalgary.ca/archives/HTML-WG/html-wg-95q2.messages/0278.html>

[17]
ですが、結局[[スタイル・シート]]で表現できるということでその後の案からは削除したようです。

;; 
[CITE@en[html-wg-95q2: Re: IETF HTML/CALS/ICADD table proposal notes, 5Apr95]]
([[Dave Raggett]] 著、[TIME[1995-05-04]]) 
<http://ksi.cpsc.ucalgary.ca/archives/HTML-WG/html-wg-95q2.messages/0625.html>

;; ここで Dave がいう[Q[ちょっと前に送った新しい提案]]というのは多分これ
([CODE(HTMLa)@en[[[cellpadding]]]] にはまったく言及なし):
[CITE[html-wg-95q2: Yet another table proposal for HTML 2.1]] 
([[Dave Raggett]] 著、[TIME[1995-05-03]]) 
<http://ksi.cpsc.ucalgary.ca/archives/HTML-WG/html-wg-95q2.messages/0520.html>

[13]
この頃 [[Bert Bos]] も提案を送っていますが、
[CODE(HTMLa)@en[[[cellpadding]]]] [[属性]]や
[CODE(HTMLa)@en[[[cellspacing]]]] 
[[属性]]は採用しないと述べています。
その理由として、すべての[[利用者エージェント]]が
[[Netscape Navigator]] のように[[3次元]]に[[枠]]を[[レンダリング]]する
(できる) わけではない、と述べています。

;; [CITE[LISTSERV 15.0 - HTML-WG Archives]] 
([TIME[2007-07-01 20:01:46 +09:00]] 版) 
<https://listserv.heanet.ie/cgi-bin/wa?A2=ind9505&L=HTML-WG&P=R5126>

[12]
その後 [[HTML表モデル]]は単独の仕様案として
[[I-D]] や [[W3C]] [[WD]] が何度か発行されますが、
最初の [[I-D]] では [CODE(HTMLa)@en[[[cellpadding]]]]
や [CODE(HTMLa)@en[[[cellspacing]]]]
は含まれていませんでした。

;; 初めて単独で出版された[[表]]仕様案
([CODE(HTMLa)@en[[[cellpadding]]]] や
[CODE(HTMLa)@en[[[cellspacing]]]] は含まれていない):
[CITE@en[draft-ietf-html-tables-00]] 
([[Dave Raggett]] 著、[TIME[1995-07-07]]) <http://www1.tools.ietf.org/html/draft-ietf-html-tables-00>

ですが、その次の1995年9月15日の [[W3C]] [[WD]] 以降
[CODE(HTMLa)@en[[[cellpadding]]]] 
[[属性]]と [CODE(HTMLa)@en[[[cellspacing]]]] 
[[属性]]が追加されています。

;; 初めて [CODE(HTMLa)@en[[[cellpadding]]]]
や [CODE(HTMLa)@en[[[cellspacing]]]]
が定義された[[表]]単独の仕様案:
[CITE@en[HTML3 Tables]] 
([[Dave Raggett]] 著、[TIME[1996-12-09 11:46:49 +09:00]] 版) 
<http://www.w3.org/MarkUp/Tables/950915_tables.html>

;; [[I-D]] として初めて [CDOE(HTMLa)@en[[[cellpadding]]]]
や [CODE(HTMLa)@en[[[cellspacing]]]] が定義された版:
[CITE@en[draft-ietf-html-tables-01]] 
([[Dave Raggett]] 著、[TIME[1995-10-03]]) <http://www1.tools.ietf.org/html/draft-ietf-html-tables-01>

[17] この [[WD]]/[[I-D]] は最終的に [[RFC 1942]]
となっています。更に [CODE(HTMLa)@en[[[cellpadding]]]]
[[属性]]や [CODE(HTMLa)@en[[[cellspacing]]]]
[[属性]]は [[HTML 3.2]] や [[HTML 4]] や [[XHTML 1]]
にもそのまま採用されました。[[表]]の特殊性から、 [[HTML 4]]
でも[[非推奨]]とはされませんでした。

[[#comment]]

*** HTML5

[18] [[HTML 5]] は [CODE(HTMLa)@en[[[cellpadding]]]]
[[属性]]と [CODE(HTMLa)@en[[[cellspacing]]]]
[[属性]]を定義していません。

[[#comment]]

*** メモ

[[#comment]]

** 実装

[[#comment]]


** メモ

[[#comment]]


* メモ