CSSでテーブルのデザインをもっとおしゃれに!ボーダー半径の付け方

2024-05-23

CSSでテーブル行にボーダー半径を追加する方法

方法1:table要素にborder-radiusを設定する

この方法は、最も簡単でシンプルな方法です。table要素にボーダー半径を設定することで、表全体を角丸にすることができます。

table {
  border-collapse: separate; /* セルの境界線を分離します */
  border: 1px solid #ccc; /* セルの境界線を設定します */
  border-radius: 5px; /* 角丸の大きさを設定します */
}

この方法は、個々の行に異なるボーダー半径を設定したい場合に有効です。疑似要素を使用して、各行の最初、最後、またはすべてのセルにボーダー半径を設定することができます。

すべてのセルにボーダー半径を設定する場合

tr {
  border-radius: 5px; /* 各行の角丸の大きさを設定します */
}
tr:first-child {
  border-radius: 5px 0 0 5px; /* 最初の行の左上角と右下角にのみ角丸を設定します */
}
tr:last-child {
  border-radius: 0 5px 5px 0; /* 最後の行の右上角と左下角にのみ角丸を設定します */
}

注意事項

  • border-collapse: separate プロパティを設定しないと、ボーダー半径が正しく適用されない場合があります。
  • セルのコンテンツがボーダー半径よりも大きい場合、コンテンツの一部がはみ出ることがあります。必要に応じて、セルのパディングを調整してください。

    これらの方法を参考に、ご自身のニーズに合った方法でテーブル行にボーダー半径を追加してください。




    HTML

    <!DOCTYPE html>
    <html lang="ja">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>CSSでテーブル行にボーダー半径を追加する</title>
      <style>
        table {
          border-collapse: separate; /* セルの境界線を分離します */
          border: 1px solid #ccc; /* セルの境界線を設定します */
          width: 500px; /* テーブルの幅を設定します */
          margin: 20px auto; /* テーブルを中央に配置します */
        }
    
        th, td {
          padding: 10px; /* セルの余白を設定します */
          text-align: center; /* セルのテキストを中央揃えにします */
        }
    
        tr:first-child {
          border-radius: 5px 0 0 5px; /* 最初の行の左上角と右下角にのみ角丸を設定します */
        }
    
        tr:last-child {
          border-radius: 0 5px 5px 0; /* 最後の行の右上角と左下角にのみ角丸を設定します */
        }
      </style>
    </head>
    <body>
      <table>
        <thead>
          <tr>
            <th>商品名</th>
            <th>価格</th>
            <th>数量</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>パソコン</td>
            <td>100,000円</td>
            <td>1</td>
          </tr>
          <tr>
            <td>キーボード</td>
            <td>5,000円</td>
            <td>2</td>
          </tr>
          <tr>
            <td>マウス</td>
            <td>2,000円</td>
            <td>3</td>
          </tr>
        </tbody>
      </table>
    </body>
    </html>
    

    CSS

    table {
      border-collapse: separate;
      border: 1px solid #ccc;
      width: 500px;
      margin: 20px auto;
    }
    
    th, td {
      padding: 10px;
      text-align: center;
    }
    
    tr:first-child {
      border-radius: 5px 0 0 5px;
    }
    
    tr:last-child {
      border-radius: 0 5px 5px 0;
    }
    

    このコードを実行すると、以下のようになります。

    最初の行と最後の行は、角丸が施されています。他の行は、角丸が施されていません。

    このサンプルコードを参考に、ご自身のニーズに合わせてコードをカスタマイズしてください。




    CSSでテーブル行にボーダー半径を追加するその他の方法

    方法3::nth-child疑似クラスを使用して特定の行にボーダー半径を設定する

    この方法は、偶数行、奇数行、または特定の番号の行にのみボーダー半径を設定したい場合に有効です。

    tr:nth-child(even) {
      border-radius: 5px;
    }
    
    tr:nth-child(odd) {
      border-radius: 5px;
    }
    
    tr:nth-child(3) {
      border-radius: 5px;
    }
    

    方法4:隣接する行同士の角を丸くする

    この方法は、隣接する行同士の角を滑らかに丸くしたい場合に有効です。

    tr + tr {
      border-radius: 0 5px 5px 0; /* 上の行のみに角丸を設定します */
    }
    
    tr:first-child + tr {
      border-radius: 5px 0 0 5px; /* 最初の行と2番目の行の角丸を設定します */
    }
    
    tr:last-child {
      border-radius: 0 5px 5px 0; /* 最後の行の角丸を設定します */
    }
    

    方法5:CSSフレームワークを使用する

    BootstrapやFoundationなどのCSSフレームワークを使用すると、簡単にテーブル行にボーダー半径を追加することができます。これらのフレームワークには、テーブルスタイルに関する多くのユーティリティクラスが含まれています。

    Bootstrapを使用する場合

    <table class="table table-bordered">
      <thead>
        <tr>
          <th>商品名</th>
          <th>価格</th>
          <th>数量</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>パソコン</td>
          <td>100,000円</td>
          <td>1</td>
        </tr>
        <tr>
          <td>キーボード</td>
          <td>5,000円</td>
          <td>2</td>
        </tr>
        <tr>
          <td>マウス</td>
          <td>2,000円</td>
          <td>3</td>
        </tr>
      </tbody>
    </table>
    
    .table-bordered tr:first-child,
    .table-bordered tr:last-child {
      border-radius: 5px;
    }
    

    これらの方法は、それぞれ異なる利点と欠点があります。ご自身のニーズに合った方法を選択してください。

      上記以外にも、CSSでテーブル行にボーダー半径を追加する方法はいくつかあります。詳細は、CSSに関するドキュメントやリファレンスを参照してください。


      css


      IDセレクタを使いこなして、特定の要素にだけスタイルを適用しよう

      ID セレクタHTML で要素に id 属性を付与し、CSS で # 記号と id 属性の値を組み合わせてセレクタを指定します。上記の場合、#container 要素内の #special 要素のみが赤色で太字に表示されます。子孫セレクタ親要素の ID と子要素のタグ名を組み合わせてセレクタを指定します。...


      CSSのみで上付き文字を表示する方法【positionプロパティを使った簡単実装】

      そこで、CSSのみを使って上付き文字を表示する方法をご紹介します。vertical-alignプロパティを使って、文字の垂直方向の位置を調整することで、上付き文字を表示することができます。この例では、.superscriptクラスが付与された文字が上付き文字になります。...


      CSSセレクタでスマートにコーディング!「A または B かつ C」の書き方まとめ

      このCSSセレクタは、A または B の要素であり、かつ C の条件を満たす要素を選択します。"かつ" は論理積を表し、すべての条件を満たす要素だけが対象となります。構文例以下の例では、p 要素または h1 要素で、かつ . red クラスを持つ要素にスタイルが適用されます。...


      CSSセレクターを使いこなして、思い通りのWebページデザインを実現しよう

      答え:はい、可能です。方法:否定擬似クラス :not() を使う :not() を使って、除外したいセレクターを指定します。 /* .button 以外すべての要素に赤枠 */ .button:not(.button) { border: 1px solid red; }...


      Flexbox を使って Bootstrap 3 のグリッドレイアウトをカスタマイズする方法

      Bootstrap 3 のグリッドシステムには、Order クラスと呼ばれる機能を使用して、特定のブレークポイントにおける列の順序を変更することができます。これは、モバイルデバイスなどの小さい画面で列のレイアウトを調整するのに役立ちます。方法...