「表」を作成するときに、セル内のテキストを右揃えや中央揃えに調整する場合は、セル単位より列単位で設定したほうが効率が良いと思います。
CSSの疑似クラスを使えば、かなり柔軟に列の指定が可能です。
ここでは逆引き的に、パターンごとの指定方法を記録しています。
Webサイトの「表」
Webサイトで表示される「表」は、HTMLのtable
タグを使って作成します。
基本的な「表」
基本的には、table
、tr
、th
、td
の4つを使うと表が作れます。
- table
- 「表」全体を定義します。
- tr (Table Row)
- 表の中の「行」を定義します。
- th (Table Head)
- 表の中の「見出し(ヘッダー)セル」を定義します。
- td (Table Data)
- 表の中の「データセル」を定義します。
<table>
<thead>
<tr><th>A</th><th>B</th><th>C</th><th>D</th></tr>
</thead>
<tbody>
<tr><td>11111</td><td>22222</td><td>33333</td><td>44444</td></tr>
<tr><td>11111</td><td>22222</td><td>33333</td><td>44444</td></tr>
<tr><td>11111</td><td>22222</td><td>33333</td><td>44444</td></tr>
</tbody>
</table>
A | B | C | D |
---|---|---|---|
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
このほかに、表のフッターを定義したり、セルの結合をするものもあります。
WordPressの「表」
WordPressのテーブルブロックを使って作成した 4列×3行 のテーブルに、ヘッダーを表示した「表」のサンプルです。
A | B | C | D |
---|---|---|---|
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
サイドバーの「表のセル幅を固定」をONにして、セル内のテキストがどのように配置されているかを見やすくしました。
<td>
要素のテキストは、全てセル内で左寄せで表示されています。
テーブルの構造(HTML)
WordPressのテーブルブロックで作った表は、[HTMLとして編集]に変換すると、HTMLコードを見ることができます。
見やすいように改行とスペースを使って整理したものが下のコードです。
<figure class="wp-block-table">
<table class="has-fixed-layout">
<thead>
<tr><th>A</th><th>B</th><th>C</th><th>D</th></tr>
</thead>
<tbody>
<tr><td>11111</td><td>22222</td><td>33333</td><td>44444</td></tr>
<tr><td>11111</td><td>22222</td><td>33333</td><td>44444</td></tr>
<tr><td>11111</td><td>22222</td><td>33333</td><td>44444</td></tr>
</tbody>
</table></figure>
わかりやすく色分けしてみました。

<figure>
タグで挟まれている以外は、基本的なテーブル構造です。
WordPressの「表」にスタイルを設定するには?
挿入したテーブルブロックに独自のスタイルを設定する場合は、テーブルブロックの「高度な設定」で[追加 CSS クラス]にクラス名を追加します。

カスタマイズ内容は[カスタマイズ]→[追加CSS]で記述することができます。
.th-red th{
color: red;
}
A | B | C | D |
---|---|---|---|
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
また、テーマCocoonには編集画面の下に[カスタム CSS]の項目が用意されているので、該当ページだけのスタイル設定が可能です。
CSSで列単位に配置を調整する
1列目だけを中央揃え
A | B | C | D |
---|---|---|---|
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
:first-of-type
td
要素の1列目だけにCSSのスタイルを設定するには:first-of-type
を使います。

:first-of-type
は、同じ親要素内の兄弟要素で、指定した要素と同じ要素のみを対象として、先頭の要素を選択します。
クラス名: table-first-center
.table-first-center td:first-of-type{
text-align: center;
background: #9393cc;
}
A | B | C | D |
---|---|---|---|
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
今回使っている:first-of-type
と似た疑似クラスに、:first-child
があります。
2つの違いは、次のようになります。
- :first-of-type
- 兄弟要素の中で、『指定した要素』を指定する。
- :first-child
- 兄弟要素の中で『最初の要素』を指定する。
最終列を右揃え
A | B | C | D |
---|---|---|---|
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
:last-of-type
td
要素の最終列だけにCSSのスタイルを設定するには:last-of-type
を使います。
クラス名: table-last-right
.table-last-right td:last-of-type{
text-align: right;
}
今回使っている:last-of-type
と似た疑似クラスに、:last-child
があります。
2つの違いは、前の項目に登場した:first-of-type
と:first-child
と同様です。
●番目の列を中央揃え
サンプルでは、3列目のテキストを中央揃えにしています。
A | B | C | D |
---|---|---|---|
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
:nth-of-type(n)
疑似クラスの:nth-of-type(n)
を使うと、指定した要素のうち、n番目の要素にCSSのスタイルを適用できます。「n」には数値を指定します。
クラス名: table-third-center
.table-third-center td:nth-of-type(3){
text-align: center;
}
●列目以降を中央揃え

:nth-child(n+●)
「●番目以降」という指定をする場合は、:nth-child(n+●)
を使います。
「●」の部分に数値(整数)を入れ、「●番目以降」という指定になります。
例えば、「2列目以降」としたい場合は、次のようになります。
クラス名: table-second-center
.table-second-center td:nth-child(n+2){
text-align: center;
}
A | B | C | D |
---|---|---|---|
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
最初の列から●列目まで

:nth-child(-n+●)
「最初から●番目まで」という指定には、:nth-of-type(-n+●)
を使います。
例えば、「1列目から3列目まで」という場合は、次のように指定します。
クラス名: table-fthird-center
.table-fthird-center td:nth-child(-n+3){
text-align: center;
}
A | B | C | D |
---|---|---|---|
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
最終列から●列目まで

:nth-last-child(-n+●)
「最後から●番目まで」という指定には、:nth-last-child(-n+●)
を使います。
例えば、「最終列から2列目まで」という場合は、次のように指定します。
クラス名: table-last2-right
.table-last2-right td:nth-last-child(-n+2){
text-align: right;
}
A | B | C | D |
---|---|---|---|
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
奇数列、偶数列で指定する
:nth-child()
は、「n番目」のほかに、「偶数」「奇数」といった指定ができます。
「even」または「2n(2の倍数)」
「odd」または、「2n+1(2の倍数+1)」
[偶数] :nth-child(even) または :nth-child(2n)
クラス名: table-even
.table-even td:nth-child(even){
text-align: right;
}
A | B | C | D |
---|---|---|---|
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
[奇数] :nth-child(odd) または :nth-child(2n+1)
クラス名: table-odd
.table-odd td:nth-child(2n+1){
text-align: right;
}
A | B | C | D |
---|---|---|---|
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |
11111 | 22222 | 33333 | 44444 |