より大きな問題をデバッグしようとして、私はそれをこの単純な状況に減らすことができました:
ここでは jsFiddle にあります: http://jsfiddle.net/uUGp6/
HTMLは次のとおりです。
<div class="box">
<img class="pic" src="http://i3.minus.com/jbuwgurDfNniFM.png"/>
Test 1
this is a test: testa testb testc testd teste
</div>
<div class="divider"/></div>
<div class="box">
<img class="pic" src="http://i3.minus.com/jbuwgurDfNniFM.png"/>
Test 2<br/>
this is a test testa testb testc testd teste
</div>
そしてCSS:
.box {
background-color: beige;
float: left;
margin-right: 10px;
height: 100px;
}
.pic {
float: left;
}
.divider {
clear:both;
height:10px;
width:500px;
background:blue;
}
Firefox、Chrome、および Safari では、2 番目のボックスのテキストが折り返されます。"testc" の後に改行します。ただし、Opera、IE9、IE8 では折り返しがありません。
2 つのボックスの唯一の違いは、2 つ目のボックスの br タグです。
2 番目のボックスで行が折り返される理由がわかりませんが、最初のボックスでははるかに大きな行が折り返されません。そして、br タグはそれと何の関係があるのでしょうか? ブラウザに同じ方法で表示させるために何ができるか知っている人はいますか?
また、どのブラウザが正しく表示されますか?
PS
フロートは不可欠です (私が言ったように、これはより大きな問題の単純化です)。
これを Windows 7 でテストしていることを付け加えておきます。
編集:Safariでもラップします