CSS を使用して次のレイアウトを実現する方法がわかりません (おそらく、実際に CSS を知らないためです)。
私はこのようなdivの束を持っています:
<div class="right"> <p>1</p> </div>
<div class="left"> <p>2</p> </div>
<div class="left"> <p>3</p> </div>
<div class="left"> <p>4</p> </div>
<div class="right"> <p>5</p> </div>
<div class="right"> <p>6</p> </div>
(本当の内容ではありません)
ここで、レイアウトを div の 2 つの等しい列のように見せたいと思います。「右」のものは右に、「左」のものは左にあるため、次のようになります。
2 1
3 5
4 6
[編集:この質問の以前のバージョンでは、div 内にテキストエリアがあり、div はすべて「one」や「xyz」などの異なる名前でした。】のようなものを試してみました
div.right { width:50%; float:right; clear:right; }
div.left { width:50%; float:left; clear:left;}
しかし、それはうまくいきません: 次のようなものを生成します:
2 1
3
4 5
6
(「クリア」なしでは、軽快に生成されます
2 1
3 4
6 5
これは望んでいるものではありません)。
div の順序が異なる場合に動作させることができることは明らかですが、私はそうしたくありません (ブラウザーに Javascript がある場合、これらの div は動的に生成され、実際の順序を変更したくないため)。セマンティック上の理由から、Javascript がない場合に表示されます)。私が望むレイアウトを実現することはまだ可能ですか?
[価値のあるものとして、IE や他のブラウザーの古いバージョンでは動作しないようにしたいので、標準に準拠したブラウザーでのみ動作するソリューションがあれば、それで問題ありません :-)]