5列のテーブルを作成する必要があります。テーブルの幅は可変です(コンテンツの幅の50%)。一部の列には固定サイズのボタンが含まれているため、これらの列には100pxなどの固定値を設定する必要があります。一部の列にはテキストが含まれているため、これらの列に可変の列幅を設定します。
例えば:
Column1:20%of(tablewidth-sum(fixedwidth_columns)) '
列2:100ピクセル
Column3:40%(tablewidth-sum(fixedwidth_columns))
列4:200ピクセル
Column5:40%(tablewidth-sum(fixedwidth_columns))
これを達成する最良の方法は何ですか?
table
要素に table-layout: fixed
を設定してから、関連する<td>
または<th>
要素にwidth
属性を設定するだけです。 :
table {
table-layout: fixed;
}
[〜#〜] mdn [〜#〜] から:
table-layout
CSSプロパティは、テーブルのセル、行、および列のレイアウトに使用されるアルゴリズムを定義します。
値:
修正済み:
テーブルと列の幅は、table
およびcol
要素の幅、またはセルの最初の行の幅によって設定されます。後続の行のセルは、列の幅に影響しません。
テーブルの幅を固定するには、table-layout
プロパティをfixed;
に設定する必要があります。%とpxを混在させるため、一貫性がありません。
Px幅のみを設定し、最終的には%の小さな値を設定し、他の列で使用可能な幅を使用できるようにします。例: http://jsfiddle.net/M4Et8/2/
<table style='table-layout:fixed;width:100%' border='1'>
<tr>
<th style='width: 20%;'>Column1</th>
<th style='width: 100px;'>Column2</th>
<th >Column3</th>
<th style='width: 200px;'>Column4</th>
<th >Column5</th>
</tr>
</table>