動的なままにしたいテーブルがあります。つまり、列幅をピクセルまたはパーセンテージで割り当てたくないということです。
ほとんどの場合、表は妥当な列幅を適切に割り当てています。問題は、1 つまたは複数の TD に異常に広いデータをロードする必要がある場合があることです。その結果、非常に幅の広い TD コンテンツを処理するために、テーブル レイアウト全体がシフトされます。
1 つの TD またはそのコンテンツをマークアップして、列幅に影響を与えずに既存のレイアウトにちょうど収まるようにしたいと考えています。私はTDの高さに影響を与えたいと思っています。
基本的に、TDが列幅を調整してコンテンツに対応しようとすることなく、コンテンツを既存のTDにラップするように強制したいと考えています。
<table>
<tr><td>Field Label #1</td><td><input name='@1'></td></tr>
<tr><td>Field Label #2</td><td><input name='@2'></td></tr>
<tr><td>Field Label #3</td><td><input name='@3'></td></tr>
<tr><td>Field Label #4</td><td><input name='@4'></td></tr>
<tr><td> </td><td class='ignoreContentWidth'><div>Super long message or notice to user that I want to wrap naturally but I don't want it to have any effect on the table layout..</div></td></tr>
<tr><td>Field Label #5</td><td><input name='@5'></td></tr>
</table>
私は次の CSS を試してみましたが、これで途中まで進みましたが、TD はコンテンツの高さも無視します。
.ignoreContentWidth
{
/* display: none; */
position:relative;
}
.ignoreContentWidth div
{
position:absolute;
top:0;
}
問題を示すフィドル。 CSSをいじる
フィドルの CSS を削除して、不要なものを確認します。