柔軟な/流体レイアウトの要素の背景画像のみでIEに問題があります。バックグラウンドポジションのIE(バグ)パーセンテージ
基本的には、背景画像(1pxで1px)を縦に並べる必要があります。レイアウトが全幅である場合、背景画像は、左から70.56367%(676px divide by it's container of 958px
)に等しいとき、左から676pxにあります。
このしかしがにIE年代のいずれかの動作しません Firefoxの、 ChromeとSafariので正常に動作します(6,7および8)。バックグラウンドの位置は、パーセンテージが完全な数であって小数ではない場合にのみ有効です。 70%または71%などに設定すると背景の位置が変わります。ここで
は私が持っているもので、どのようにそれがブラウザに表示されます。
background:url(link/to/image.gif) repeat-y 70.6680584551148% 0;/*676px/958px*/
私はまた別のXとYの値(ただし、同じ結果)としてバックグラウンド位置を設定してみました:
background-position-x:70.6680584551148%;/*676px/958px*/
background-position-y: 0;
Firefoxの(v3.6.3):
クロム(12.0.742.100):
サファリ(5.0.2):
のInternet Explorer(6、7、8 - 全て同じ結果):
So 私の質問はです。これはブラウザが全体ではないパーセンテージを計算できないIE問題ですか?あるいは、私は行方不明の修正や何かがありますか?
残念ながら、これはそうであるようです。 IEは、パーセンテージを最も近い整数に丸めているように見えます。 IEのデベロッパーコンソールでは70.56%と言っていますが、.56%を適用しているようではなく、ちょうど70%を適用しています。 – Dan
@ダン:うん。それを修正する限り、おそらく '70%'を代わりに使うことができます。 '958px'から' 670.6px'になります。各ブラウザが10進数ではなく、半分のピクセルを処理する方法で、より良い運を得られる可能性があります。 –
私はそれが簡単だったと思う - 残念ながら、幅はかなり正確です。しかし、私はサイトを敷設する新しい方法として、http://matthewjamestaylor.com/blog/perfect-multi-column-liquid-layoutsを簡単に見ていきます。ご意見をいただきありがとうございます。誰かがフィードバック/解決策を持っているかどうかを確認するために、私はもう数時間待つ。何も表示されない場合、私はあなたの答えを正しいものとして記入して喜んでくれるでしょう。乾杯=) – Dan