LoginSignup
0
1

More than 1 year has passed since last update.

【HTML,CSS】テーブルの角を丸くしたい!

Last updated at Posted at 2022-06-29

border-radiusが効かなくてテーブルの角を丸く出来ない...!」と、お困りなそこのあなたに
今回は角の丸いテーブルを作成する方法を解説していきます。

再現したいデザイン

スクリーンショット 2022-06-25 23.51.19.png

table要素のうちtbody要素のみがborderで囲われたデザインですね。

実装方法

実装のポイントは以下の2つです。

  • tableタグに border-collapse: separate; を設定する
  • 疑似要素をうまく使ってtdタグに border-radius を指定する

tableタグに border-collapse: separate; を設定する

border-collapseは、テーブルの中のborderを共有させるか分離させるかを指定できます。
詳しくは、CSSのカスケーディングスタイルシートをご覧ください。
テーブルの角を丸くしたいときはテーブルの内のborderを分離(separate)させます。

疑似要素をうまく使ってtdタグに border-radius を指定する

trタグにborderを設定するのではなく、tdタグにborderの設定をしていきましょう。

詳しく手順を説明していきます。

  1. すべてのtdタグにborder-topを設定する。(画像:赤線)
  2. tdfirst-childborder-leftを設定する。(画像:青線)
  3. tdlast-childborder-rightを設定する。(画像:緑線)
  4. trlast-child内にある、すべてのtdにborder-bottomを設定する。(画像:黄線)
  5. trfirst-child内にある、tdfirst-childborder-radiusを左上のみ指定する。(画像:緑丸の角)
  6. trfirst-child内にある、tdlast-childborder-radiusを右上のみ指定する。(画像:黄丸の角)
  7. trlast-child内にある、tdfirst-childborder-radiusを左下のみ指定する。(画像:赤丸の角)
  8. trlast-child内にある、tdfirst-childborder-radiusを右下のみ指定する。(画像:青丸の角)
    スクリーンショット 2022-06-25 23.51.19.png

実際に実装したコードがこちらです↓

See the Pen Untitled by kidorina (@kidorina) on CodePen.

終わりに

角の丸いテーブルの作成は一見簡単そうに見えますが、少し苦労がいるようです。
より簡単な実装方法をご存知の方がいらっしゃいましたらコメントでご教授いただけると幸いです。

0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1