This page is a translated version of the page Help:Tables and the translation is 98% complete.
PD 注意: このページを編集すると、編集内容が CC0 のもとで公開されることに同意したと見なされます。詳細はパブリック・ドメインのヘルプ ページを参照してください。 PD
Tables はこのページに転送されています。MediaWiki のデータベース テーブルの構造は、Manual:データベースのレイアウト を参照してください 。

ウィキ ページでは表 (table) を作成できます。 原則として、必要がなければテーブルの使用を避けるのが最善です。 表を用いたマークアップはしばしばページの編集を煩雑にさせます。[1]

テーブルのウィキ文法の概要

{| 表の開始必須
|+ 表のキャプション省略可能表の開始表の行の間でしか記述できない。
|- 表の行最初の行については省略可能。(明示されなくとも、)ウィキエンジンは最初の行を推定します。
! 表のヘッダーセル、省略可能。 同じ行に続く表のヘッダーセルは、エクスクラメーションマーク2つ (!!) で区切って同じ行に記述するか、エクスクラメーションマーク1つ (!) を新しい行の先頭に記述することで、表現できます。
| 表のデータセル、省略可能。 同じ行に続く表のデータセルは、バーティカルバー2つ (||) で区切って同じ行に記述するか、バーティカルバー1つ (|) を新しい行の先頭に記述することで、表現できます。
|} 表の終了必須
  • 上記のマークは必ず行頭で指定する必要があり、例外は縦棒2本||!!を使い、特定の行に選択的に連続するセルを追加する場合です。しかしながら、行頭の空きスペース文字は無視されます。
  • HTML の属性。 表の終わりの指定以外は、1つ以上のHTML 属性を受け入れます。 属性とマークは同じ行に記述します。 属性どうしの間は半角空きスペースで区切ります。
    • セルとキャプション (| もしくは ||!もしくは!!|+) に内容を書き込めます。 そこで、属性と内容の区切り記号は縦棒1本を使います (|)。 セルの内容は同じ行に続くか、下方の数行に続くか、どちらの場合もあります。
    • 表であることを示す記号、行が変わることを示す記号 ({||-) には、内容を直接、表示させることができません。 選択的に加えた属性の後に縦棒 (パイプ記号 |) を入れては ダメ です。 テーブルマークや行マークの属性の後に誤ってパイプを追加した場合、パーサーはそのパイプと最終的な属性を削除してしまいます。
  • Content may (a) follow its cell mark on the same line after any optional HTML attributes or (b) on lines below the cell mark.

Content that uses wiki markup that itself needs to start on a new line, such as lists, headings, or nested tables, must be on its own new line.

    • Pipe character as content.

テーブルにパイプ (|) 文字を挿入するには、 <nowiki>|</nowiki> 逃走マークアップを使用します。

基礎

エディターのツールバーから表を作る

ウィキテキスト編集では、テーブルを挿入したい場所にカーソルを配置します。 ツールバーで"上級"を押して、 ボタンを選択します。 ダイアログが開きます。

ここから表のヘッダーを有効にするか、表に枠線をつけるか、表をsortableできるようにするかを選択できます。 そうすると、プレビューが表示されます。 列と列のカウントも設定できます。 その後"、挿入"ボタンを押します。

デフォルトでは、次のコードが生成されます。

入力
{| class="wikitable" style="margin:auto"
|+ キャプション文
|-
! 見出しテキスト !! 見出しテキスト !! 見出しテキスト
|-
| セル内のテキスト || セル内のテキスト || セル内のテキスト
|-
| セル内のテキスト || セル内のテキスト || セル内のテキスト
|-
| セル内のテキスト || セル内のテキスト || セル内のテキスト
|}
出力
キャプション文
見出しテキスト 見出しテキスト 見出しテキスト
セル内のテキスト セル内のテキスト セル内のテキスト
セル内のテキスト セル内のテキスト セル内のテキスト
セル内のテキスト セル内のテキスト セル内のテキスト

基礎的な構文

以下のテーブルは罫線と十分な余白を欠いていますが、最も簡単な表構造のウィキ文法を示すために使っています。

記述例 表示例
{|
|オレンジ
|りんご
|-
|パン
|パイ
|-
|バター
|アイスクリーム
|}
オレンジ りんご
パン パイ
バター アイスクリーム

同じ行のセルは、||で区切って、一行で書くことができます。 もし、セルの中に改行を含める必要があれば、‎<br />を代わりに使ってください。

入力 出力
{|
|オレンジ||りんご||など
|-
|パン||パイ||など
|-
|バター||アイス<br />クリーム||そして<br />まだまだ
|}
オレンジ りんご など
パン パイ など
バター アイス
クリーム
そして
まだまだ

以下のウィキマークアップにあるような、セルの中の余分な半角スペースは、表の形成に影響を与えません。

入力 出力
{|
|  オレンジ || りんご || など
|-
|   パン || パイ || など
|-
|   バター || アイスクリーム || そしてまだまだ
|}
オレンジ りんご など
パン パイ など
バター アイスクリーム そしてまだまだ

長い文章を入れたり、セルの中で別のウィキ構文を使うこともできます。

入力 出力
{|
|Lorem ipsum dolor sit amet,
consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt
ut labore et dolore magna aliquyam erat,
sed diam voluptua.

At vero eos et accusam et justo duo dolores
et ea rebum. Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum
dolor sit amet.
|
* Lorem ipsum dolor sit amet
* consetetur sadipscing elitr
* sed diam nonumy eirmod tempor invidunt
|}
Lorem ipsum dolor sit amet,

consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

  • Lorem ipsum dolor sit amet
  • consetetur sadipscing elitr
  • sed diam nonumy eirmod tempor invidunt

表のヘッダー

表の見出しは、「|」(パイプ記号) の代わりに「!」(感嘆符) を使用することで作成できます。 ヘッダーは、標準では、太字・中央揃えになります。

入力 出力
{|
! style="text-align:left;"| 品目
! 個数
! 価格
|-
|オレンジ
|10
|7.00
|-
|パン
|4
|3.00
|-
|バター
|1
|5.00
|-
!合計
|
|15.00
|}
品目 個数 価格
オレンジ 10 7.00
パン 4 3.00
バター 1 5.00
合計 15.00
HTMLの属性をセルで使うときは、「品目」のセルのように、“|” を区切りとして使います。 “!” ではありません。

キャプション

表のキャプションは、以下のように、あらゆる表の一番上に追加することができます。

入力 出力
{|
|+食品の補完
|-
|オレンジ
|りんご
|-
|パン
|パイ
|-
|バター
|アイスクリーム
|}
食品の補完
オレンジ りんご
パン パイ
バター アイスクリーム

class="wikitable"

基本スタイル(薄い灰色の背景と罫線、余白と文字の左寄せ)は、class="wikitable" を追加することで実現できます。

入力 出力
{| class="wikitable"
|+食品の補完
|-
|オレンジ
|りんご
|-
|パン
|パイ
|-
|バター
|アイスクリーム
|}
食品の補完
オレンジ りんご
パン パイ
バター アイスクリーム

HTML の colspan と rowspan

高度なレイアウトのために、HTMLのcolspanrowspan 属性をセルに利用できます。

入力 出力
{| class="wikitable"
!colspan="6"|買い物リスト
|-
|rowspan="2"|パンとバター
|パイ
|バンズ
|デニッシュ
|colspan="2"|クロワッサン
|-
|チーズ
|colspan="2"|アイスクリーム
|バター
|ヨーグルト
|}
買い物リスト
パンとバター パイ バンズ デニッシュ クロワッサン
チーズ アイスクリーム バター ヨーグルト

大きな表での注意(noresize class)

The use of the wrapping div.noresize will ensure your table is optimized for mobile and is extremely important for large tables e.g. tables with more than 4 columns or large columns. この要素を使用しない場合、コンテンツは UI 要素を重複させます。例えば、Vector 2022 サイドバーまたはモバイルディスプレイを壊します。 表の内容が大きすぎると、表にスクロールバーが表示されます。

Shopping List
Areallyreallyreallyreallylongstringwillcauseyourtableto Pie Buns Danish Croissantsmaycausetexttoincreasethesizeofyourcolumnsoitbreaksoutofthecontent area if you do not wrap the table with noresize.
Cheese Ice cream Butter Yogurt

HTML の属性

HTML 属性をテーブルに適用できます。 HTML属性に関する権威のあるソースについては、 W3Cの HTML 仕様ページを表に参照してください

表の属性

表開始タグ ({|) の後に属性を置くのは、表全体に属性に適用されます。

入力 出力
{| class="wikitable" style="text-align: center; color: green;"
|オレンジ
|りんご
|12,333.00
|-
|パン
|パイ
|500.00
|-
|バター
|アイスクリーム
|1.00
|}
オレンジ りんご 12,333.00
パン パイ 500.00
バター アイスクリーム 1.00

セルの属性

個別のセルごとに属性を適用することもできます。 例えば、数字は右寄せにした方が見栄えが良い場合があります。

入力 出力
{| class="wikitable"
| オレンジ
| りんご
| style="text-align:right;" | 12,333.00
|-
| パン
| パイ
| style="text-align:right;" | 500.00
|-
| バター
| アイスクリーム
| style="text-align:right;" | 1.00
|}
オレンジ りんご 12,333.00
パン パイ 500.00
バター アイスクリーム 1.00

また複数のセルを1行にまとめる時もセルごとに属性を適用できます。 Note that the cells are separated by ||, and within each cell the attribute(s) and value are separated by |.

入力 出力
{| class="wikitable"
| オレンジ || りんご     || style="text-align:right;" | 12,333.00
|-
| パン || パイ       || style="text-align:right;" | 500.00
|-
| バター || アイスクリーム || style="text-align:right;" | 1.00
|}
オレンジ りんご 12,333.00
パン パイ 500.00
バター アイスクリーム 1.00

行の属性

に属性を適用することもできます。

入力 出力
{| class="wikitable"
| オレンジ
| りんご
| style="text-align:right;"| 12,333.00
|-
| パン
| パイ
| style="text-align:right;"| 500.00
|- style="font-style: italic; color: green;"
| バター
| アイスクリーム
| style="text-align:right;"| 1.00
|}
オレンジ りんご 12,333.00
パン パイ 500.00
バター アイスクリーム 1.00

キャプションとヘッダーで属性を表示

キャプションとヘッダーには、以下のように属性を追加することができます。

入力 出力
{| class="wikitable"
|+ style="caption-side:bottom; color:#e76700;"|''食品の補完''
|-
! style="color:green" | 果物
! style="color:red" | 脂肪
|-
|オレンジ
|バター
|-
|洋梨
|パイ
|-
|りんご
|アイスクリーム
|}
食品の補完
果物 脂肪
オレンジ バター
洋梨 パイ
りんご アイスクリーム

枠線の太さ

枠線の太さが1つの値しか設定されていない場合、それが4つの枠線全てに適用されます。

入力 出力
{|style="border-style: solid; border-width: 20px"
|
こんにちは
|}

こんにちは

枠線の太さが二つ以上設定されている場合、上、右、下、左の順番で設定されます。(時計周りの順序。)

入力 出力
{|style="border-style: solid; border-width: 10px 20px 100px 0"
|
こんにちは
|}

こんにちは

値が4つ未満の場合:

  • 3つの値が設定されている場合、左の太さは右の太さ(2つ目の値)と同じになります。そのため、右側と左側の太さは同じになります。
  • 2つの値が設定されている場合、下の値は上の値(1つ目の値)、左の値は右の値(2つ目の値)が設定されます。
  • (最初に記載してありますが)値が1つの場合、4つの枠線全てに同じ値が適用されます。4つの幅は同じになるので規則的な枠線を作れ、ショートカットとして便利です。

枠線の太さを設定する他の方法として、"border-left"、"border-right"、"border-top"、"border-bottom"を使用する方法があります。

入力 出力
{|style="border-left:solid 10px black;border-right:solid 20px black;border-top:solid 30px black;border-bottom:solid 40px black;" align="center"
|
こんにちは
|}

こんにちは

HTML属性 (例えば"width="、 "border="、 "cellpacing="、 "celpadding=") は長さの単位は不要です。 (ピクセル単位が想定されます) 。 また、HTML5では無効となります。

"Cellpadding"ではセルの枠と内容の間のスペースを設定するものです。[2]

CSS のスタイルプロパティ(HTML の属性を上書きする)では、ピクセルに対して「px」のような長さの単位を(値が 0 でない場合)明示する必要があります。

HTMLの属性やCSSのスタイルを使って

CSS スタイルの属性はHTMLの属性の有無によらず追加できます。

入力 出力
{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="10"
|オレンジ
|りんご
|-
|パン
|パイ
|-
|バター
|アイスクリーム
|}
オレンジ りんご
パン パイ
バター アイスクリーム

余白

セルの内容と枠線の間のスペースを設定します。

入力内容 出力結果
{|class=wikitable
| style="padding: 10px" | style="padding:10px" の例
|-
| style="padding: 50px" | style="padding:50px" の例<br/><br/>'''各セル'''の余白を指定します。
|-
| style="padding:100px" | style="padding:100px" の例
|}
style="padding:10px" の例
style="padding:50px" の例

各セルの余白を指定します。
style="padding:100px" の例

列の幅

列の幅は、以下のように追加することができます。

入力

{| class="wikitable" style="width: 85%;"
| colspan="2" | この列の幅は画面幅の85%になります
|-
| style="width: 30%"| '''この列の幅は画面幅の85%から30%分になります。'''
| style="width: 70%"| '''この列の幅は画面幅の85%から70%分になります。'''
|}

出力

この列の幅は画面幅の85%になります
この列の幅は画面幅の85%から30%分になります。 この列の幅は画面幅の85%から70%分になります。

テーブルヘッダーセルのアクセシビリティ

表のヘッダーセルは、どの表のデータセルに適用されるか(同じ行の右側か、同じ列の下側か)指定しません。 視覚的な2D環境でテーブルをレンダリングした場合、通常、これは容易に推測できる。

しかし、表が非視覚的なメディアでレンダリングされた場合、ブラウザがテーブルヘッダのセルに適用される表のヘッダセルを決定するのに (アクセス可能性ヘルパーでコンテンツを繰り返すため) テーブルヘッダーセルに scope="row"または scope="col"属性を使用できます。 簡単なテーブルの場合、最初の列のヘッダーセルすべてに scope="col" と次の列の最初のセルで scope="row" を使います。

入力 出力
{| class="wikitable"
|-
! scope="col"| 品目
! scope="col"| 重量
! scope="col"| 価格
|-
! scope="row"| パン
| 0.3 kg
| $0.65
|-
! scope="row"| バター
| 0.125 kg
| $1.25
|-
! scope="row" colspan="2"| 合計
| $1.90
|}
品目 重量 価格
パン 0.3 kg $0.65
バター 0.125 kg $1.25
合計 $1.90

配置

表の配置

テーブルの整列はCSSを使用して実現されています。 テーブルの配置は、マージンによって制御されます。 片側に固定されたマージンは、反対側のマージンがautoと定義されている場合、その側にテーブルが揃うようになります。 テーブルをセンター揃えにするには、両方のマージンをautoに設定する必要があります。

右揃えの表の場合

入力 出力
{| class="wikitable" style="margin-left: auto; margin-right: 0px;"
| オレンジ
| りんご
|-
| パン
| パイ
|-
| バター
| アイスクリーム
|}

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.
オレンジ りんご
パン パイ
バター アイスクリーム

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.

中央揃えの表の場合

入力 出力
{| class="wikitable" style="margin: auto;"
| オレンジ
| りんご
|-
| パン
| パイ
|-
| バター
| アイスクリーム
|}

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.
オレンジ りんご
パン パイ
バター アイスクリーム

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.

表とテキストの折り返し

表をページの右側または左側に配置した場合、表の後に来るテキストは表の端から始まり、表の周りには何もない状態になります。 表に"float"を使うことで、テキストを表の周りで折り返すことができます。 This can be achieved using the float CSS attribute, which can specify whether the table floats to the right side or to the left. float パラメータを指定すると余白で表の配置を調整しません。周囲の文字列との間隔を指定できます。

入力 出力
{| class="wikitable" style="float:right; margin-left: 10px;"
| オレンジ
| りんご
|-
| パン
| パイ
|-
| バター
| アイスクリーム
|}

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.
オレンジ りんご
パン パイ
バター アイスクリーム

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.


セルの内容の配置

セルの内容の配置は、2 つの異なる CSS プロパティ text-alignvertical-align で制御できます。 text-align は表、行、個々のセルで指定できますが、vertical-align は個々の行やセルでのみ指定できます。

入力 出力
{| class="wikitable"
|- style="vertical-align:top;"
| style="height:100px; width:100px; text-align:left;" | A
| style="height:100px; width:100px; text-align:center;" | B
| style="height:100px; width:100px; text-align:right;" | C
|- style="vertical-align:middle;"
| style="height:100px; width:100px; text-align:left;" | D
| style="height:100px; width:100px; text-align:center;" | E
| style="height:100px; width:100px; text-align:right;" | F
|- style="vertical-align:bottom;"
| style="height:100px; width:100px; text-align:left;" | G
| style="height:100px; width:100px; text-align:center;" | H
| style="height:100px; width:100px; text-align:right;" | I
|}
A B C
D E F
G H I

注意

負の数値

新しい行の最初のセルに、マイナス記号で始まる負の数値 (または負の数値に評価されるパラメーター) を使用すると、表が壊れる場合があります。文字列 |- が、表のセルとしてではなく、表の行のウィキ マークアップと解釈されるためです。 これを回避するには、値の前に半角空白を挿入するか (| -6)、またはインラインのセルのマークアップ (|| -6) を使用します。

CSS と属性

表の枠線は変換エラーを避けるため CSS で指定します。属性を入力するとテキストブラウザの小さなサブセットでは正しく表示されません。

列、列と行それぞれの集合によく使われる値

現在、MediaWiki では表の構文における共通の属性の指定はサポートされていません。列(HTML要素‎<col />)、列グループ(HTML要素‎<colgroup>‎</colgroup>)あるいは行グループ(HTML要素‎<thead>‎</thead>‎<tbody>‎</tbody>‎<tfoot>‎</tfoot>)のどれも未対応です。 これら標準の HTML 要素は、HTML 要素でも XHTML 要素でも使用できません。

表の行あるいはセル (ヘッダー行もデータ行も) は単一の暗黙の行グループ (HTML 要素 ‎<tbody>‎</tbody>) 内でレンダリングされ、属性もスタイルも指定しません。

ビジュアルエディター (VE) と表の操作

関連項目: Help:ビジュアルエディター/利用者ガイド

Phab: T108245: "Fully support basic table editing in the visual editor" を参照してください。 タスクの一覧を参照しましょう。レ点は完了した印です。技術の専門用語を読んでも、具体的に改良された点や、どんな機能が追加されたか理解するのは難しいかもしれません。そこで下欄に説明文を記入してください。

列や行の移動、削除

列もしくは行のヘッダをクリック。 つづいて矢印をクリック。 ポップアップメニューの「移動」もしくは「削除」をクリック。

空白の列もしくはカラムの挿入

同じポップアップメニューの「挿入」をクリック。

ウェブ上の表をビジュアルエディタにコピーする

ウェブサイト上の表をコピーしてビジュアルエディタ (VE)にペーストすることは可能です。 安全に実施する方法として、下書きページ(サンドボックスる)を使い、ウィキテキストのコードが正しいかどうかソースモードで表示すると、ビジュアルエディタに移したときのが正しいかプレビューで確認できます。

補助ツール

  • Excel2Wiki allows you to copy a spreadsheet from Excel, Apache OpenOffice, LibreOffice, or Gnumeric to convert it into wikicode table.

関連項目

注記

  1. テーブルは、HTMLの table 要素を直接使っても、ウィキ文法によっても作ることができます。 HTMLの table 要素とその使い方については、様々なウェブページでしっかりと説明されているので、ここでは言及しません。 ウィキコードを使用する利点は、ページの編集ビューで見たときに、文字列や記号で記述してあると表要素をHTMLで記述するよりも、表の構造を比較的理解しやすいことです。
  2. HTML table cellpadding Attribute