Help:Tables/ja

ウィキページに表（テーブル）を書くには、直接XHTMLのテーブル要素を使用するか、表記術用のウィキマークアップを使います. XHTMLのテーブル要素については多くのウェブサイトで解説されていますので、そちらを参照してください. ウィキマークアップを使う利点としては、XHTMLのテーブル要素よりもソースを簡潔に記述できることがあります.

表を使うとソースが複雑になってしまいますので、表はどうしても必要な時に限って使用しましょう.

ウィキの表マークアップ概要

 * 上述の各マークアップは新しい行の冒頭に書く必要があります. ただしは連続するセルを同一行に書くための二重の と は例外です. また新規行の冒頭にある半角空白は無視されます.
 * XHTML属性. 各マークアップは、表の終了マークアップを除き、XHTML属性を与えることができます. 属性はマークアップと同一行に書かなければなりません. 各属性の間はシングルスペースで分離してください.
 * セルと題（ または  、   または  、  ）は内容のある部分ですので、中身と属性を区別するためにパイプ記号（ ）を使用します. セルの内容は属性と同じ行に書いても、次の行に書いても構いません.
 * 表の開始と行の開始のマークアップ（ と  ）はそれ自身の内容はない部分です. 属性指定の後にパイプ記号（ ）を加えないでください. これらの開始記号のあとに加えられたパイプは、ページの生成時に直前の文字列とともに除去されるため、表が意図通り生成されなくなることがあります.
 * セルの内容は（ア）セル開始のマークアップと同一行に書く、（イ）マークアップの次以下の行に書く、のいずれも可能です. 行の冒頭に使用しないと有効でないウィキマークアップ（リスト、見出し、入れ子にする表など）をセルの中に入れるためには、新しい行に書く必要があります.
 * Pipe character as content. To insert a pipe character into a table, use the &lt;nowiki&gt; &lt;/nowiki&gt; escaping markup.

基本
下記のテーブルには罫線がなく、間隔の取り方もよくありませんが、最も単純なウィキマークアップによる表を示しています.

{| cellspacing="0" border="1" !style="width:50%"|入力内容 !style="width:50%"|表示結果


 * }

表中の同一行のセルは、編集テキストの同一行に で区切って記述できます.

編集テキスト中の余分なスペースは表示結果に反映されません.

{| cellspacing="0" border="1" !style="width:50%"|入力内容 !style="width:50%"|表示結果


 * }

見出しセル
の代わりに " " を使うと見出しセルになります. 見出しはデフォルトではボールド体・中央揃えで表示されます.

{| cellspacing="0" border="1" !style="width:50%"|入力内容 !style="width:50%"|表示結果

注意: 見出しの '項目' に属性を付ける場合は、セパレータとして バーティカルバー '|' を使います. '!'ではありません.
 * }

表の題
表の題は次のように加えることができます.

{| cellspacing="0" border="1" !style="width:50%"|入力内容 !style="width:50%"|表示結果


 * }

class="wikitable"
class="wikitable"を指定すると、基本スタイルとして (light gray background, borders, padding and align left) の属性が付加されます.

{| cellspacing="0" border="1" !style="width:50%"|入力内容 !style="width:50%"|表示結果


 * }

HTML colspan / rowspan
セルに HTML の colspan / rowspan を使うとセルを連結できます. それぞれ横 / 縦に連結します.

{| cellspacing="0" border="1" !style="width:50%"|入力内容 !style="width:50%"|表示結果


 * }

XHTML属性
表にはXHTML属性を付加できます. XHTML属性についてもっとも信頼できる記述については、W3C の配布する HTML 4.01 仕様書の表の項目を参照してください.

表全体の属性
表の開始マークアップ（ ）に続けて付加された属性は表全体に適用されます.

{| cellspacing="0" border="1" !style="width:50%"|入力内容 !style="width:50%"|表示結果


 * }

セルの属性
各セルにも属性を付加できます. 例えば、数値は右寄せの方が見やすいかもしれません.

行の属性
個々の行にも属性を設定することができます.

{| cellspacing="0" border="1" !style="width:50%"|入力内容 !style="width:50%"|表示結果


 * }

CSSスタイル
CSSスタイル属性を、他のHTML属性の有無にかかわらず加えることができます.

{| cellspacing="0" border="1" !style="width:50%"|入力内容 !style="width:50%"|表示結果 


 * }

表の題や見出しにも属性は追加できます.

{| cellspacing="0" border="1" !style="width:50%"|入力内容 !style="width:50%"|表示結果 


 * }

Border width
"border-width:" の後に数値を一つだけ書いた場合は、四方に対する指定となります. {| cellspacing="0" border="1" !style="width:50%"|入力内容 !style="width:50%"|表示結果
 * style="padding: 20px;"|


 * }

"border-width:" の後に一つ以上の数値を書いた場合、四つの数値は 上, 右, 下, 左 に対する指定となります.

{| cellspacing="0" border="1" !style="width:50%"|入力内容 !style="width:50%"|表示結果
 * style="padding: 20px;"|


 * }


 * 四つ未満の数値を書いた場合、 左を指定する数値は右の値、下を指定する数値は上の値、右を指定する数値は上ををデフォルトとします.

四方の幅を指定する別の方法に "border-left"、 "border-right"、 "border-top" 、 "border-bottom" があります. {| cellspacing="0" border="1" !style="width:50%"|入力内容 !style="width:50%"|表示結果
 * style="padding: 20px;"|


 * }

注意 :
 * HTML 属性 (例えば "width=", "border=", "cellspacing=", "cellpadding=") 長さの単位指定を必要としません. (ピクセル単位として扱われます) HTML属性を上書きするCSS スタイルプロパティは、ピクセルの意味の "px" のような単位指定が必要です.

With HTML attributes and CSS styles
CSS style attributes can be added with or without other HTML attributes.

Attributes
Attributes can be added to the caption and headers as follows.

{| style="width:100%" ! style="width: 50%;"|You type ! style="width: 50%;"|You get
 * style="padding: 5px;"|
 * style="padding: 5px;"|
 * style="padding: 5px;"|


 * }

Column width
Column width can be added as follows.

You type:

You get:

Accessibility of table header cells
Table header cells do not explicitly specify which table data cells they apply to (those on their right on the same row, or those below them on the same column). When the table is rendered in a visual 2D environment, this is usually easy to infer.

However when tables are rendered on non-visual media, you can help the browser to determine which table header cell applies to the description of any selected cell (in order to repeat its content in some accessibility helper) using a scope="row" or scope="col" attribute on table header cells. In most cases with simple tables, you'll use scope="col" on all header cells of the first row, and scope="row" on the first cell of the following rows:

{| style="width:100%" ! style="width: 50%;"|You type ! style="width: 50%;"|You get
 * style="padding: 5px;"|
 * style="padding: 5px;"|
 * style="padding: 5px;"|


 * }

Table alignment
Table alignment is achieved by using CSS. The table alignment is controlled by margins. A fixed margin on one side will make the table to be aligned to that side, if on the opposite side the margin is defined as auto. To have a table center aligned, you should set both margins to auto

For example, a right-aligned table:

{| style="width:100%" ! style="width: 50%;"|You type ! style="width: 50%;"|You get
 * style="padding: 5px;"|
 * style="padding: 5px;"|
 * style="padding: 5px;"|


 * }

And a center-aligned table:

{| style="width:100%" ! style="width: 50%;"|You type ! style="width: 50%;"|You get
 * style="padding: 5px;"|
 * style="padding: 5px;"|
 * style="padding: 5px;"|


 * }

Table floating around text
If you align a table to the right or the left side of the page, the text that comes after the table starts at the end of it, leaving an empty space around the table. You can make the text to be wrapped around the table by making the table to float around the text instead of just aligning it. This can be achieved using the  CSS attribute, which can specify where the table floats to the right side or to the left. When using float, margins doesn't control table alignment and can be used to specify the margin between the table and the surrounding text.

{| style="width:100%" ! style="width: 50%;"|You type ! style="width: 50%;"|You get
 * style="padding: 5px;"|
 * style="padding: 5px;"|

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
 * style="padding: 5px;"|

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
 * }

Cell contents alignment
The alignment of cell contents can be controlled with 2 different CSS properties:  and. can be specified at the table, row or individual cells, while  only can be specified at individual rows or cells.

{| style="width:100%" ! style="width: 50%;"|You type ! style="width: 50%;"|You get
 * style="padding: 5px;"|
 * style="padding: 5px;"|
 * style="padding: 5px;"|


 * }

Negative numbers
If you start a cell on a new line with a negative number with a minus sign (or a parameter that evaluates to a negative number), your table can get broken, because the characters  will be parsed as the wiki markup for table row, not table cell. To avoid this, insert a space before the value or use in-line cell markup.

CSS vs attributes
Table borders specified through CSS rather than the border attribute will render incorrectly in a small subset of text browsers.

Common attributes for columns, column groups and row groups
The MediaWiki syntax for tables currently offers no support for specifying common attributes for columns (with the HTML element ), column groups (HTML element  ) and row groups (HTML elements ,  ). Those standard HTML elements are not accepted even in their HTML or XHTML syntax.

All the rows and cells (header or data) of the table are rendered within a single implicit row group (HTML element ) without any attributes or styles.

負の値
新しい行の冒頭にマイナス記号を持つ負の数値（または負の数値を返す引数）があると、表が崩れてしまうことがあります. これは の記号が新しい表の列を開始するマークアップだからです. これを避けるためには、マイナス記号の前にスペースを挿入する（ ）か、前のセルと同じ行に続けて  のように記述してください.