火曜日, 5月 13, 2025
ホームニューステックニュース【初心者🔰】表(table)の作り方と装飾(CSS)を超丁寧に図解 #初心者向け - Qiita

【初心者🔰】表(table)の作り方と装飾(CSS)を超丁寧に図解 #初心者向け – Qiita



【初心者🔰】表(table)の作り方と装飾(CSS)を超丁寧に図解 #初心者向け - Qiita

  • tableのHTMLの構造
  • 表に余白を付ける
  • 表に線を付ける
  • 表の幅を変える
  • いろいろな表のデザインの仕方

背景

tableを使って表を作る課題で激詰みしたので、まとめてみようと思います。

tableとは

table
webサイトで表を作成する際に使う要素。

tableの構造

表作成.png
上のような表を作成するとします。
その際、タグを指定していきますが、どのタグを当てはめたらいいのか。。。?

〈結論〉
表作成 (1).png
このようにタグは指定するようになります。

それぞれのタグについて
table : 表の大枠。で囲まれた箇所が表になる。
thead : 表のヘッダー部分をグループ化するために使う。
tbody : 表のボディー部分をグループ化するために使う。
tr : 行全体のこと。trを増やすことで行が増えます。
th :

で囲まれた部分がヘッダーで使用する見出しセルになる。
td :

で囲まれた部分が表の中身のセルになる。

実際にコードを書いてみる

番号 種類 在庫
1 S 120
2 M 76
3 L 154

スクリーンショット 2025-05-08 11.59.43.png
作成したコードは上記のように表示されて、余白もなければ線もありません。

余白を作る(padding)

セルに対して、余白が欲しいですね。
セル=th、tdなので、こちらにpaddingを指定します。

このように指定すると文字の周りに余白が付きますね。

スクリーンショット 2025-05-08 12.06.33.png

線を付ける

線を付けるためにはborderを指定する必要があります。
table、tr、th/tdそれぞれにborderを指定したらどうなるかやってみましょう。

tableにborderを指定してみる

table {
    border: 1px solid #3c3c3c;
}

スクリーンショット 2025-05-08 12.12.27.png
tableは表の外枠なので、外側を囲むように線がつきました。

trにborderを指定してみる

tr {
    border: 1px solid #3c3c3c;
}

スクリーンショット 2025-05-08 12.06.33.png
…何も変わりません。

表示するためには

にborder-collapse:collapseを指定しよう

table {
    border-collapse: collapse;
}
tr {
    border: 1px solid #3c3c3c;
}

スクリーンショット 2025-05-08 12.25.58.png
綺麗に表示されました⭕️

border-collapse: collapse;とは
隣接するセルの境界線(ボーダー)を重ねて表示するためのCSSプロパティ
※ちなみにborder-collapse: sepalate;を指定すると各セルの線が分離して表示

th/tdにborderを指定してみる

th,td {
    border: 1px solid #3c3c3c;
}

スクリーンショット 2025-05-08 12.32.22.png スクリーンショット 2025-05-08 12.33.21.png
(左)th,tdにborder指定、(右)border-collapse: collapse;も指定した

→セル1つ1つに線がついたことがわかります

その他の装飾をしていく

文字色

th,td {
    border: 1px solid #737373;
    color:#737373;
}

スクリーンショット 2025-05-08 12.39.57.png
文字色が灰色になりました。

文字を中央揃えにする

table {
    border-collapse: collapse;
    text-align: center;
}

スクリーンショット 2025-05-08 12.41.37.png

最後に左右の余白を調整して完成しました🤩

スクリーンショット 2025-05-08 12.42.55.png

いろんなスタイルの表を作成してみよう

①見出しと番号のみ背景をつけてみる

表作成.png

見出しはthでグループ分けされていますが、番号の列はth,td,tdと指定できていないですね。
classを指定することで、CSSを当てられるようにしましょう。

番号 種類 在庫
1 S 120
2 M 76
3 L 154
th,
.number {
    background-color: #dfdede;
}

スクリーンショット 2025-05-08 13.03.06.png

②外枠の線はなく、内側の線で区切る

表作成 (1).png
線をtdに指定してしまうと、全部のセルに線がついてしまいましたよね。
つまり、外枠を設定するtableにborder:noneをつけても外枠はついたままということです。
これでは外枠を消すことはできません。
では、どうするか。
こんな考え方で線を付けていきます。(下記画像参照)
表作成 (3).png

STEP1:まず行(横の線)から考えましょう。
1,「行に線がつく=trに線を指定する」なので、trに下線を指定することで横線を作成できます。
2,一番最下部のtrの下線は不要なので指定しません。(青い丸で囲まれた箇所)

これをする上で今足りていないのは、最下部のtrを指定するために区別できるクラスを付けることです。

番号 種類 在庫
1 S 120
2 M 76
3 L 154

クラスの指定ができたら、上から3行のみ下線を引くようCSSで指定します。

.top,
.second,
.third {
    border-bottom: 1px solid #737373;
}

これにより下記の状態になります。
スクリーンショット 2025-05-11 19.10.43.png

STEP2:列(縦線)を引いていきます。
表作成 (3).png
縦のセルに対して、右側にのみ線を引けば理想の状態になりますね。一番右側のセルに関しては線は不要なので引きません。
ここで使えるのが、th、tdに指定したクラスです。
実際に記載したCSSはこちら。

.number,
.type {
    border-right: 1px solid #737373;
}

これによって目的の線が引けました!
スクリーンショット 2025-05-11 19.16.29.png

③列ごとに枠のサイズを変える

表作成 (2).png

列ごとに枠のサイズを変えるためには、列指定をする必要があります。
1つ前の縦線をつける時と同じようにclassに幅を指定していきます。

table {
    border-collapse: collapse;
    color: #737373;
    font-size: 15px;
    width: 400px;
}

.number {
    width: 20%;
}

.size {
    width: 35%;
}

.stock {
    width: 50%;
}

tableに全体の幅を指定し、th.tdに幅の割合を指定しました。
スクリーンショット 2025-05-12 9.06.36.png

最後に

まとめ

  • 表を作成するにはtableタグを使用する
  • 行:
     1つのセル:

     →

    を増やすと列が増える

  • タイトルとなる行のセルは とし、

    で囲む

  • 表のボディ(内容となる箇所)は
    で囲む

  • 線を1本の線にするにはborder-collapse: collapse;をtableに指定する
     
  • 表を作成していくと要素がたくさんあってこんがらがってしまうので、最初にどのタグがどの内容を指すのか、グルーピングの方法をこの投稿で理解するとスムーズに作成ができます!

    9

    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

    9

    Deleted articles cannot be recovered.

    Draft of this article would be also deleted.

    Are you sure you want to delete this article?





Source link

Views: 2

RELATED ARTICLES

返事を書く

あなたのコメントを入力してください。
ここにあなたの名前を入力してください

- Advertisment -

インモビ転職