CSSのborder-spacingでテーブルセル間のスペースを調整し、レイアウトを整える方法をわかりやすく解説

スポンサーリンク

CSSのborder-spacingプロパティは、テーブル要素におけるセルとセルの間の距離を指定するために使用されます。これは、セルの枠線間のスペースをコントロールするための重要なプロパティで、値を調整することでレイアウトに変化を持たせることができます。

スポンサーリンク

border-spacingプロパティの値とその効果の一覧

  • border-spacing: 10px; – セル間の距離を10pxに設定します。
  • border-spacing: 20px; – セル間の距離を20pxに設定します。
  • border-spacing: 30px; – セル間の距離を30pxに設定します。

注意点や関連情報

border-spacingプロパティは、border-collapseプロパティがseparateに設定されている場合にのみ有効です。border-collapsecollapseに設定されている場合、セルの枠線は互いに重なり、border-spacingの効果はなくなります。テーブルレイアウトを調整する際、border-spacingを適切に使用することで、視覚的に美しい間隔を作り出せます。

border-spacingが効かない理由として考えられること

適用される要素がtableではない

border-spacingはテーブル要素にのみ適用されるプロパティです。非テーブル要素(例えば、divspanなど)には効果を発揮しません。
対策border-spacingを適用したい要素が<table>であることを確認し、テーブルレイアウト以外の要素には使用しないようにします。

border-collapseがcollapseに設定されている

border-collapsecollapseに設定されていると、border-spacingは無効になります。collapseでは、セルの間の余白が取り除かれ、ボーダーが結合されます。
対策border-spacingを使用したい場合は、border-collapse: separate;に設定します。

共通するCSSコード

.css-sample-container {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      margin: 20px 0;
      text-align: center;
    }

    table {
      border-collapse: separate;
      width: 300px;
      margin: 0 auto;
    }

    td {
      border: 2px solid #99ccff;
      padding: 20px;
      text-align: center;
      border: 2px solid #111111;
    }
  

border-spacing: 10px;

セル間の距離を10pxに設定します。控えめな間隔で、整ったレイアウトになります。

HTMLコード

<div class="css-sample-container">
      <table class="css-sample-border-spacing-10">
        <tr>
          <td>セル1</td>
          <td>セル2</td>
        </tr>
        <tr>
          <td>セル3</td>
          <td>セル4</td>
        </tr>
      </table>
    </div>
  

CSSコード

.css-sample-border-spacing-10 {
      border-spacing: 10px;
    }
  

表示結果

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

border-spacing: 20px;

セル間の距離を20pxに設定します。ゆとりのあるレイアウトで、広々とした印象を与えます。

HTMLコード

<div class="css-sample-container">
      <table class="css-sample-border-spacing-20">
        <tr>
          <td>セル1</td>
          <td>セル2</td>
        </tr>
        <tr>
          <td>セル3</td>
          <td>セル4</td>
        </tr>
      </table>
    </div>
  

CSSコード

.css-sample-border-spacing-20 {
      border-spacing: 20px;
    }
  

表示結果

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

border-spacing: 30px;

セル間の距離を30pxに設定します。非常に広い間隔で、開放感のあるレイアウトです。

HTMLコード

<div class="css-sample-container">
      <table class="css-sample-border-spacing-30">
        <tr>
          <td>セル1</td>
          <td>セル2</td>
        </tr>
        <tr>
          <td>セル3</td>
          <td>セル4</td>
        </tr>
      </table>
    </div>
  

CSSコード

.css-sample-border-spacing-30 {
      border-spacing: 30px;
    }
  

表示結果

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

まとめ

  • border-spacingプロパティは、テーブルのセル間のスペースを指定します。
  • border-collapseseparateの場合に有効であり、異なるスペースを指定することで、デザインに変化を持たせることができます。
  • デザインの一貫性を保つために、テーブルの幅とセルの間隔のバランスを考慮しましょう。