Firefox 4.0.1で奇妙なバグを発見したので(Opera 11.5でも発生しました)、問題を示すために次の例を作成しました。
サファリで表示するとすべてが正常に見えますが、FirefoxまたはOperaで開くと、負のマージンを持つdiv内の画像は、下のdiv内のスペースを占有します。
誰かがこれを修正する方法を知っていますか?
これはCSS仕様による正しいレンダリングです。負のマージンは、赤いdivの上部がそうでない場合よりも高いことを意味しますが、その上部がどこにあるかを決定すると、テキストの位置はフロートとdivの交点に依存します。http://www.w3.org/TR/CSS21/visuren.html#floats「ラインボックスはフロートの隣にあります」で始まる段落を参照してください。
ここでWebKitにバグを報告することをお勧めします。
私はFFとIE9でもこの問題に遭遇しました...絶対位置のdivは負のマージンを認識していないようですが、margin-top:-100pxの代わりにtop:100pxを使用するとFF12とie9で機能するようです
ほとんどの場合に機能する可能性のある修正は、divの位置を絶対にしてから、上/左/右/下を使用して位置を制御することです。