* table 要素 cellpadding 属性 (HTML, XHTML 1) [1] [[HTML]] の [CODE(HTMLe)[[[table]]]] 要素の [DFN[[CODE(HTMLa)[cellpadding]] 属性]]は、 UA が表のこまとこまの罫線の間に取るべき間隔を指定します。 仕様書: [[HTML 4]] [[#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]] 版) [[#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)[
Data1 Data2 Data3
]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]] 版) [[#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]] ;; 残念ながらその 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]]) [17] ですが、結局[[スタイル・シート]]で表現できるということでその後の案からは削除したようです。 ;; [CITE@en[html-wg-95q2: Re: IETF HTML/CALS/ICADD table proposal notes, 5Apr95]] ([[Dave Raggett]] 著、[TIME[1995-05-04]]) ;; ここで Dave がいう[Q[ちょっと前に送った新しい提案]]というのは多分これ ([CODE(HTMLa)@en[[[cellpadding]]]] にはまったく言及なし): [CITE[html-wg-95q2: Yet another table proposal for HTML 2.1]] ([[Dave Raggett]] 著、[TIME[1995-05-03]]) [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]] 版) [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]]) ですが、その次の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]] 版) ;; [[I-D]] として初めて [CDOE(HTMLa)@en[[[cellpadding]]]] や [CODE(HTMLa)@en[[[cellspacing]]]] が定義された版: [CITE@en[draft-ietf-html-tables-01]] ([[Dave Raggett]] 著、[TIME[1995-10-03]]) [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]] * メモ