我在IE中遇到了一個問題,只能使用靈活/流體佈局中元素的背景圖像。具有背景位置的IE(錯誤)百分比
基本上,我需要背景圖像(這是1px乘1px)垂直平鋪。當佈局爲全寬時,背景圖像位於676px從左側轉換爲百分比等於70.56367%(676px divide by it's container of 958px
)。
這工作正常在火狐,鉻和Safari瀏覽器然而不工作任何IE的的(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;
火狐(v3.6.3):
鉻(12.0.742.100):
的Safari(5.0.2):
的Internet Explorer(6,7和8 - 所有結果相同):
所以我的問題是,這只是一個IE瀏覽器問題,瀏覽器無法計算出一個不完整的百分比?或者,有沒有修復或者我錯過了什麼?
不幸的是,這似乎是這種情況。 IE似乎將百分比四捨五入到最接近的整數。儘管它在IE的開發者控制檯中說70.56%,但似乎沒有應用.56%,而只是應用了70%。 – Dan
@丹:是的。至於解決它,也許你可以使用'70%',而不是'958px'出現在'670.6px'。每個瀏覽器處理半像素而不是十進制百分比的方式可能會更好。 –
我希望它很簡單 - 不幸的是寬度非常精確。儘管如此,我將快速瀏覽http://matthewjamestaylor.com/blog/perfect-multi-column-liquid-layouts,作爲鋪設網站的一種可能的新方法。感謝您的反饋意見。我再等幾個小時看看其他人是否有反饋/解決方案。如果什麼都沒有出現,我會更樂意將你的答案標記爲正確的。乾杯=) – Dan