2011-09-14 9 views
1

要素の寸法を指定するときに浮動小数点数を使用しています。これはjsfiddleを参照してくださいjsfiddle.net/yMTGJしかし、画像を見るとわかるように、ChromeとOperaの両方が適切な幅を設定できず、結果として2つのdivの間に1ピクセルのギャップがあります。i.stack.imgur.com/O9ZxW.png ChromeとOperaはfloatを正しく処理できませんか?なぜ1ピクセルのギャップがあるのですか?浮動小数点使用時にChromeとOperaが失敗する

答えて

2

これは、幅を466.5pxと指定しているために発生します。これは、他のブラウザ(たとえばFirefox)によって467pxまでラウンドセットされます。クロムはこれを正しく表示しようとするので、赤と黄の組み合わせで表示される1ピクセルの線があります(ブラウザを混乱させるように見えますが、ギャップはありません)。

これを避けるには、ハーフピクセルを使用して寸法を指定しないでください(例はどのように見えますか?クロムは正確に何を期待していますか、ハーフピクセルを使用するかどうかわかりません)。

私は外側のdivの幅を932pxに調整し、内側のものは466pxに調整しました。これはクロームで完全に機能します。

EDIT:
あなたが933pxの幅を必要とする場合は、すべてのブラウザで同じ表示になるだろう、別の解決策があるようにする必要があり、独自のギャップに建設されるだろう:あなたの問題はhttp://jsfiddle.net/eS7Qd/

+0

さて、933(親の幅)/ 2(子の数)= 466.5です。 – Hitch

+0

しかし、私はまだ、いわゆるギャップがある理由を理解していません。 – Hitch

+0

この例では、1つの子が50%を占め、もう1つが50%を占めているとします。 – Hitch

1

上記のように、問題は半画素です。半分にできない光のブロックである作業とピクセルを監視します。一部のブラウザでは、この問題を解決するために巧妙に試してみることができますが、これを行うときにすべてのブラウザで一貫した結果を得ることはできません。

私は960ピクセル幅にお仕事をお勧めしますし、それが有効なCSSでないと、あなたがこの仕事を得ることができる方法はありませんhttp://www.960.gs

のようなものを使用します。

関連する問題