こんにちは、私の名前はセーバーです。問題があります。sを使わずにはいられません<table>
。私は中毒です、そしてそれは私にとって問題です。いくらかのサポートと、賢い Web デザイナーが私のやり方の間違いを教えてくれる必要があります。
2列のレイアウト
そこで、単純な 2 列のレイアウトを作成しようとしています。左側にナビゲーション、右側にコンテンツです。簡単なテーブルと私は行く準備ができています.
<table>
<tr>
<td valign="top"><!-- Navigation --></td>
<td valign="top"><!-- Content --></td>
</tr>
</table>
結果にはかなり満足しています。コンテンツはページの流れの中にあります。セルの幅を指定したり、スペースを埋めるようにセルを拡大したり、コンテンツに合わせて縮小したりできます。しかし、入れ子になったテーブルを導入し始めると (もちろん、正当な表形式のデータのために)... マークアップは見苦しく、読みにくく、維持しにくくなります。その上、私の Web デザイナーの仲間は皆、名前の呼び掛けに頼っています。
それで、私のオプションは何ですか?むしろ好きposition:absolute;
です。ほんの少しのcssで...
.left { position:absolute; top:0; bottom:0; left:0; width:200px; }
.right { position:absolute; top:0; bottom:0; left:200px; right:0; }
...そして最小限の HTML マークアップ...
<div class="left"><!-- Navigation --></div>
<div class="right"><!-- Content --></div>
スリック!マークアップは明確で、デザインは流動的です。しかし今、滑らかな 2 つの列の下に何かを追加しようとすると、完全な混乱 (jsFiddle) に遭遇します。私はページの流れの中で働いていませんが、私のコンテンツがどのくらいの高さになるのかわかりません! なので高さの指定はできません。すぐにあきらめてしまう…だから、別のことを試してみましょう。
正直に言うと、float
怖いです。マークアップは読むのが明らかではなく、フローティング要素は独自の心を持っているようで、私のデザインを破滅的なケースで台無しにする不吉な動機があります. この jsfiddle を検討してください。私はまだページの流れで作業していません。そして、流動的なコンテンツで静的な幅のナビゲーションが必要でしたか? どうする?
私はみんなを知りません。テーブルははるかに良い選択のようです。誰かが私にいくつかの意味を話します。また使うかも…