Tableセルの特定のものだけ大きくする方法

2021年1月6日

今回はtable内の特定のセルのみ大きくする方法を紹介していきたいと思います。

結果的にはこのような感じです。

このように「1」の部分だけサイズ、色を変更して目立たせる方法です。

やっていきましょう。

やり方

私が実践したやり方は、「1」を大きくするというよりも、「2」「3」「4」「5」を小さくすることで「1」を相対的に大きく見せました。

    順序

  1. テーブルを作る
  2. 「1」にクラスをつける
  3. 「1」以外にクラスをつける
  4. 「1」以外にborder-topをつける

テーブルを作る

まず普通にテーブルを作成してください。
量が多いテーブルに関しては簡単に作れるツールがWeb上にありますのでうまく活用すると良いかもしれません。

「1」にクラスをつける

次に大きくさせたいセル(「1」)にクラスを付けます。
ここではbicの「b」をとってクラスを付けました。

「1」以外にクラスをつける

次に1行目の「1」以外にクラスを付けてください。
ここではlineの「l」をとってクラスを付けました。

「1」以外にborder-topをつける

次に「1」以外にborder-topをつけます
ここで border-top: 40px solid white; と指定することで背景の白と同化し相対的に小さく見せています。
この部分が今回のポイントとなります。


コード

これまで説明したコードが以下のようになります。

Html

<table class="test">
    <tr>
    <td class="b">1</td>
    <td class="l">2</td>
    <td class="l">3</td>
    <td class="l">4</td>
    <td class="l">5</td>
    </tr>
    <tr>
      <td>あ</td>
      <td>あい</td>
      <td>あいう</td>
      <td>あいうえ</td>
      <td>あいうえお</td>
      </tr>
</table>

Css

.test {
  margin: 50px auto;
}

.test tr td {
  font-size: 20px;
  text-align: center;
  width: 100px;
  height: 50px;
  background-color: #b0f5c4;
}

.test tr .l {
  border-top: 40px solid white;
}

.test tr .b {
  background-color: #f35336;
}

コピペしてご自由にお使いください。

まとめ

自分なりに方法を探して、border-topをつける、という方法に至りましたが、もっと他にもやり方があるのかもしれません。

ですが一旦このやり方で作りたいものが作れたのでいいかなと思ってます。

もっと良いやり方知っている方がいたら教えていただきたいです!

Pocket

コメント投稿