我不知道如何用 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 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
(没有“clear”,它会愉快地产生
2 1
3 4
6 5
这不是想要的)。
很明显,如果 div 的顺序不同,它可以工作,但我不想这样做(因为如果浏览器有 Javascript,这些 div 是动态生成的,我不想改变实际的顺序出于语义原因,在没有 Javascript 的情况下显示)。是否仍然可以实现我想要的布局?
[对于它的价值,我愿意让它不能在 IE 或旧版本的其他浏览器上运行,所以如果有一个只适用于标准兼容浏览器的解决方案,那没关系 :-)]