col
の要素を使用して、表のセルに最小幅を与えようとしていますcolgroup
。は、幅が設定され ( で設定されたすべてのセルの合計幅よりも小さい)、が に設定さtable
れた によってラップされます。div
col
overflow
div
auto
ここに私のHTMLコードがあります -
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.table-block {
border-spacing: 0;
border-collapse: collapse;
}
.cell {
padding: 5px 10px;
border: 1px solid silver;
}
</style>
</head>
<body>
<div style="width:200px;overflow: auto">
<table class="table-block">
<colgroup>
<col style="width:300px">
<col style="width:300px">
</colgroup>
<tbody>
<tr>
<td class="cell"><em>2(0,2)</em></td>
<td class="cell"><em>3(0,3)</em></td>
</tr>
<tr>
<td class="cell"><em>2(0,2)</em></td>
<td class="cell"><em>3(0,3)</em></td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
私の問題は、セルが から幅を取らないことcol
です。それは自分自身をラッパーに収めようとしていますdiv
。セルが指定された適切な幅になり、スクロールバーが表示されるようにします。table
幅を必要な合計幅に設定するという解決策があります。table
これにより、JavaScript で新しい列を挿入するたびに幅を更新する必要があります。
私の解決策 -
<div style="width:200px;overflow: auto">
<table class="table-block" style="width:600px">
<!-- table things -->
</div>
それは正しいことですか?そして、なぜそれが起こるのですか?
jsFiddleリンク