テーブルを使用する代わりに、CSS と 2 つのインライン ブロック (または何でも) DIV タグを使用して、そのようなことは可能ですか?
表のバージョンは次のとおりです (見やすいように境界線が追加されています)。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
<table style="width:100%;">
<tr>
<td style="border:1px solid black;width:100px;height:10px;"></td>
<td style="border:1px solid black;height:10px;"></td>
</tr>
</table>
</body>
</html>
FIXED WIDTH (パーセンテージ幅ではない)の左側の列と、行の残りのスペースを埋めるために拡張される右側の列が生成されます。かなり単純に聞こえますよね?さらに、何も「フローティング」されていないため、親コンテナーの高さは、コンテンツの高さを包含するように適切に拡張されます。
--BEGIN RANT--
固定幅のサイドカラムを使用したマルチカラムレイアウトの「明確な修正」と「聖杯」の実装を見てきましたが、それらはひどいものであり、複雑です。要素の順序を逆にしたり、パーセンテージ幅を使用したり、float を使用したり、負のマージンを使用したり、「左」、「右」、「マージン」属性の関係が複雑になったりします。さらに、レイアウトはサブピクセルに敏感であるため、ボーダー、パディング、またはマージンを 1 ピクセルでも追加すると、レイアウト全体が壊れ、列全体が次の行に折り返されます。たとえば、1 つの行に 4 つの要素を配置し、各要素の幅を 25% に設定するなど、簡単なことをしようとしても、丸め誤差が問題になります。
--暴言を終わらせる--
「inline-block」と「white-space:nowrap;」を使用してみましたが、問題は、行の残りのスペースを埋めるために 2 番目の要素を取得できないことです。幅を "width:100%-(LeftColumWidth)px" のように設定するとうまくいく場合もありますが、幅プロパティで計算を実行することは実際にはサポートされていません。