CSSのborder-spacingとは|表のセル間隔を調整する使い方と注意点

border-spacingとは、HTMLの表(table)で、隣り合うセルとセルのあいだの間隔を調整するCSSプロパティです。かつてはHTMLのcellspacing属性で指定していましたが、現在はCSSのborder-spacingを使うのが正しい方法です。ポイントは、border-collapse: separate(セルの枠線を分離する設定)のときにだけ効くという点。この記事では、使い方・値の指定方法・つまずきやすい注意点までを解説します。

border-spacingとは?何を指定するプロパティか

black flat screen computer monitor
Photo by Ferenc Almasi on Unsplash

border-spacingは、テーブル内のセル同士の間隔(すき間)を指定するプロパティです。table要素に対して指定します。値にはpxなどの長さ単位を使い、数値が大きいほどセル間のすき間が広がります。表全体の見た目を整えたいとき、セルがくっつきすぎている・離れすぎているといった調整に使います。

値の指定方法|1値と2値

指定の仕方は2通りあります。用途に応じて使い分けます。

  • 1値指定border-spacing: 5px; → 上下・左右すべてに同じ間隔をつける
  • 2値指定border-spacing: 10px 5px; → 1つ目が「左右方向」、2つ目が「上下方向」の間隔(半角スペース区切り)

横方向と縦方向で間隔を変えたいときは2値指定が便利です。

border-collapseとの関係が最重要

もっとも大切な注意点がこれです。border-spacingは、border-collapse: separateが指定されているときにだけ有効です。border-collapse: collapse(隣り合う枠線を1本に結合するモード)では効きません。「border-spacingを書いたのに間隔が変わらない」という場合、原因のほとんどはborder-collapseがcollapseになっていることです。

コード例

graphs of performance analytics on a laptop screen
Photo by Luke Chesser on Unsplash
table {  border-collapse: separate;   border-spacing: 8px 4px;   border: 1px solid #ccc;}td {  border: 1px solid #ccc;  padding: 8px;}

この例では、各セルのあいだに左右8px・上下4pxのすき間ができます。

古い「cellspacing属性」との違い

HTMLには<table cellspacing="5">のように書く古い属性がありましたが、これはHTML5で非推奨となっており、現在は使いません。見た目の指定はCSS側(border-spacing)に統一するのが正しい書き方です。既存サイトでcellspacing属性が残っている場合は、CSSへ置き換えていくのがおすすめです。

よくある質問(FAQ)

Q. border-spacingを書いても間隔が変わりません。
A. border-collapse: separateになっているか確認してください。collapseだとborder-spacingは無効になります。

Q. 縦と横で間隔を変えられますか?
A. できます。border-spacing: 左右 上下;の2値指定を使ってください。

Q. cellspacing属性は使ってはいけませんか?
A. 非推奨です。新規で作る場合はCSSのborder-spacingを使いましょう。

最新情報をチェックしよう!