これは私が先週遭遇した問題の再現です。3 つのボックスがあり、そのうちの 2 つを左にシフトして、親ボックスに収まるようにしたいと考えています。それらをうまくシフトできますが、CSS はそれらが幅に収まることを完全に無視し、最後のボックスを新しい行に配置して、外観を完全に台無しにします。これは、firefox 11とchrome 18で問題が発生したデモです。左シフトを行うときに明らかに可能であるため、3つのボックスが行に収まるようにcssに影響を与えるにはどうすればよいですか。
HTML(2番目の部分は、シフトが機能していない場合と比較して、シフトが機能していることを確認するためのものです。)
<div class="A">
<div class="B"></div>
<div class="C"></div>
<div class="D"></div>
</div>
<div class="A2">
<div class="B2"></div>
<div class="C2"></div>
<div class="D2"></div>
</div>
CSS
.A { width: 290px; height:200px; background-color: red; }
.B, .C, .D { width: 100px; height: 100px; }
.B, .D { background-color: green;}
.C { width: 100px; background-color: blue; }
.A div { float: left; }
.C, .D { position:relative; left: -50px; }
.A2 { width: 290px; height:200px; background-color: red; }
.B2, .C2, .D2 { width: 100px; height: 100px; }
.B2, .D2 { background-color: green;}
.C2 { width: 100px; background-color: blue; }
.A2 div { float: left; }