CSS Web制作

【CSS】テーブルで左の列だけ幅を固定して他の幅は均等にする方法

※ 当サイトではアフィリエイト広告を利用しています

テーブルの左だけ幅は固定して、他の列の幅は均等にする方法ない?

テーブルはtableタグで作りますが、普通に作るとこのように列の幅は中身によって変わります。

See the Pen
Untitled
by junpei (@junpei-sugiyama)
on CodePen.

今回は、左の列の幅は固定して、他の列の幅は均等にする方法を解説します。

 

完全無料のプログラミングスクール『ZeroPlus Gate』
30日間でWeb制作を学べる無料のプログラミングスクールがこちら
  • 30日間でWeb制作を学べる
  • 完全無料
  • 現役エンジニアへの質問無制限
  • オンラインの動画学習なので時間場所を問わず勉強可能
  • 最大4回の学習サポート面談
  • 受付は1日25名までの先着制
無料なのに専属のメンターが付き、現役エンジニアへの質問も無制限という破格のサービスです。
いきなり数十万するプログラミングスクールは厳しい・・・という人のお試しに最適。
現在は無料ですがいつ有料になるか分からないので、気になる方はお早めに👇

\ 完全無料 /

ZeroPlus Gate公式サイト

先着1日25名まで!

テーブルで左の列だけ幅を固定して他の幅は均等にする方法

まず、冒頭でご紹介したテーブルのコードはこちらになります。

<table>
  <tr>
    <th>タイトル</th>
    <td>名前名前名前名前</td>
    <td>名前</td>
    <td>名前</td>
  </tr>
  <tr>
    <th>タイトル</th>
    <td>名前</td>
    <td>名前名前</td>
    <td>名前</td>
  </tr>
  <tr>
    <th>タイトル</th>
    <td>名前</td>
    <td>名前</td>
    <td>名前</td>
  </tr>
</table>
table {
  border: 1px solid #ccc;
  border-collapse: collapse; /* 隙間をなくす */
  margin-inline: auto;
  margin-top: 20px;
  max-width: 500px;
  width: 100%;
}
table th,
table td {
  border: 1px solid #ccc;
  line-height: 1.5;
  padding: 10px;
  text-align: center; /* 左右中央寄せ */
  vertical-align: middle; /* 上下中央寄せ */
}
table th {
  background: #1cb4d3;
  color: #fff;
}

そして、左の幅を固定、他の列の幅は均等にする場合は、以下のコードを追記します。

table {
  table-layout: fixed; /* 列の幅を均等にする */
}
table th:first-of-type {
  width: 70px; /* タイトル列の幅 */
}

デモはこちら。

See the Pen
Untitled
by junpei (@junpei-sugiyama)
on CodePen.

タイトルの列だけ幅が狭く、他は全て均等になっています。

width: 70px;を消せば、タイトルの列を含めて全て均等の幅になります。

See the Pen
Untitled
by junpei (@junpei-sugiyama)
on CodePen.

まとめ

今回は、テーブルで左の列だけ幅を固定して、他の幅は均等にする方法を解説しました。

table-layout: fixed;は知らない人も多いと思いますが、便利なプロパティなので覚えておくといいでしょう。

以上になります。

 

Web制作おすすめ教材と案件獲得サービス
当ブログではWeb制作学習におすすめの教材を厳選してご紹介しています。
こちらの記事を参考に教材を購入して成果を出している人もたくさんいるので、自分に必要な教材を探してみて下さい。
また、学習面だけでなく営業面である案件獲得サービスもご紹介しています。
スキルが身についても仕事がなければ意味がないので、営業に不安がある人はこちらの記事をぜひ参考にしてみて下さい。
この記事を参考にスキルと営業力を身につけて稼げるようになりましょう!

-CSS, Web制作