テーブルの幅をセルの幅の合計に合わせるには、 width: fit-content; を使用する。
<div style="overflow: auto;">
<table style="width: fit-content; table-layout: fixed;">
<colgroup>
<col style="width:150px;">
<col style="width:150px;">
<col style="width:150px;">
<col style="width:150px;">
<col style="width:150px;">
<col style="width:150px;">
</colgroup>
<tr>
<td>1-1</td>
<td>1-2</td>
<td>1-3</td>
<td>1-4</td>
<td>1-5</td>
<td>1-6</td>
</tr>
<tr>
<td>2-1</td>
<td>2-2</td>
<td>2-3</td>
<td>2-4</td>
<td>2-5</td>
<td>2-6</td>
</tr>
</table>
</div>
width:fit-content; なし
1-1 |
1-2 |
1-3 |
1-4 |
1-5 |
1-6 |
2-1 |
2-2 |
2-3 |
2-4 |
2-5 |
2-6 |
テーブルの横幅がブラウザの描画領域にあわされてセル幅も潰される。
width:fit-content; あり
1-1 |
1-2 |
1-3 |
1-4 |
1-5 |
1-6 |
2-1 |
2-2 |
2-3 |
2-4 |
2-5 |
2-6 |
テーブルの横幅がブラウザの描画領域にあわされず、ちゃんと意図したとおりになる
csshtml.work