フロートが常に直前のフロートの下辺より下に配置されてしまう

症状

フロートが連続して置かれているときフロートの上端は必ず、直前にあるフロートの下端より下に配置される。例えば、右フロートに後続する左フロートが右フロートの下端より下に配置されてしまう。

例示

<div style="float:left; width:40%; height:1.5em; background:aqua;">Left1</div>
<div style="float:right; width:40%; height:3em; background:fuchsia;">Right</div>
<div style="float:left; width:40%; height:1.5em; background:lime;">Left2</div>
<div style="clear:both;">Clear</div>
Left1
Right
Left2
Clear

左フロート、右フロート、左フロートの順に置かれています。2つ目の左フロートは1つ目の左フロートの直後に配置されるはずです。

スクリーンショット

Moz1.0.1Moz1.0.1での表示

Op6Opera6.05での表示

補足

下にずれて配置されるフロートにclearプロパティを設定すると、このバグを回避できます。このとき、floatプロパティの指定値とclearプロパティの指定値を同じにしてください。

<div style="float:left; width:40%; height:1.5em; background:aqua;">Left1</div>
<div style="float:right; width:40%; height:3em; background:fuchsia;">Right</div>
<div style="float:left; width:40%; height:1.5em; background:lime; clear:left;">Left2</div>
<div style="clear:both;">Clear</div>
Left1
Right
Left2
Clear

左フロートまたは右フロートだけを連続して置いたときのバグとしてOperaバグ043があります。

修正状況

Opera6.05では不具合の発生が確認されました。Opera7.0では標準・互換モードともに不具合の発生は確認されませんでした。

関連記事

スポンサーリンク

NCHR関数 ユニコードから文字に変換する

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る