CSS プロパティ border-spacing

CSSプロパティ border-spacing:テーブルセル間隔の制御

CSSプロパティ border-spacing:テーブルセル間隔の制御

border-spacing プロパティは、テーブル内のセル間の距離、つまり隣接するセル境界線間のスペースのサイズを設定するために使用されます。

適用要素

border-spacing プロパティは <table> 要素に適用されます。

構文


/* <length> 値 */
border-spacing: 5px;
border-spacing: 1em;

/* 水平間隔 | 垂直間隔 */
border-spacing: 10px 5px;

/* グローバル値 */
border-spacing: inherit;
border-spacing: initial;
border-spacing: revert;
border-spacing: unset;

  • <length>: 長さ値を使用して水平方向と垂直方向の間隔を定義します。px、em、remなど、有効なCSS長さ単位を使用できます。
  • 水平間隔 | 垂直間隔: それぞれ水平方向と垂直方向の間隔を設定します。値を1つだけ指定すると、水平方向と垂直方向の両方にその値が使用されます。

詳細説明

  • border-spacing プロパティは、separate 境界線モデルのテーブル、つまり border-collapse プロパティ値が separate のテーブルにのみ有効です。
  • このプロパティは、セル内容と境界線の間の距離には影響せず、隣接するセル境界線間の距離にのみ影響します。

1. 水平間隔と垂直間隔を同じ値に設定する


table {
  border-collapse: separate;
  border-spacing: 10px;
}

HTMLコード例:


<table>
  <tr>
    <td>セル 1</td>
    <td>セル 2</td>
  </tr>
  <tr>
    <td>セル 3</td>
    <td>セル 4</td>
  </tr>
</table>

出力結果:

セル 1 セル 2
セル 3 セル 4

上記コードは、セル間に10pxの間隔があるシンプルなテーブルを作成します。

2. 水平間隔と垂直間隔を異なる値に設定する


table {
  border-collapse: separate;
  border-spacing: 20px 10px; /* 水平間隔 20px、垂直間隔 10px */
}

HTMLコード例:


<table>
  <tr>
    <td>セル 1</td>
    <td>セル 2</td>
  </tr>
  <tr>
    <td>セル 3</td>
    <td>セル 4</td>
  </tr>
</table>

出力結果:

セル 1 セル 2
セル 3 セル 4

上記コードは、水平方向の間隔が20px、垂直方向の間隔が10pxのシンプルなテーブルを作成します。

ブラウザの対応状況

すべての主要ブラウザで border-spacing プロパティがサポートされています。

注意点

HTML5では、テーブルセル間隔を設定するために border-spacing プロパティを使用することは推奨されていません。代わりに、CSSの padding プロパティと margin プロパティを使用して実現することをお勧めします。詳細については、Mozilla Developer Network を参照してください。

関連するQ&A

  1. border-spacingborder-collapse の違いは何ですか?
    border-spacing は、border-collapse プロパティが separate に設定されている場合にのみ機能します。 border-collapse を使用すると、隣接するセルの境界線を結合できますが、border-spacing は結合された境界線の間のスペースを制御します。
  2. border-spacing を使用して、テーブルのすべてのセルの間に均等な間隔を作成するにはどうすればよいですか?
    border-spacing プロパティに単一の値を設定するだけで、すべてのセル間に均等な間隔を作成できます。例えば、border-spacing: 10px; は、すべてのセル間に10pxの間隔を作成します。
  3. paddingmargin を使用してセル間隔を設定する場合、border-spacing はどのように相互作用しますか?
    border-spacing は、隣接するセル境界線間のスペースにのみ影響します。 セル内容と境界線の間のスペースを制御するには、padding を使用する必要があります。 margin は、テーブル自体と周囲のコンテンツとの間のスペースに使用されます。