2013-03-02 25 views
3

我正在嘗試使用背景圖像作爲精靈,具有可變尺寸的元素。因此,我使用基於百分比的值爲background-sizebackground-positionOpera不正確地使用百分比值處理背景位置和/或背景大小?

我在戲中遇到的問題,此(最新版本,12.14)。我懷疑這是background-positionbackground-size的組合與導致錯誤行爲的基於百分比的值。我徒勞地搜尋了任何有關的信息,或一個公認的問題。

爲了演示我正面臨的問題,我創建了一個560像素,主要是橙色的圖像,除了右下角的藍色方塊,測量112乘112像素,五分之一圖像的大小。

若要將此圖片作爲背景元素,使得藍色方塊完全,準確地覆蓋,而不管元件的尺寸,我已經使用了以下樣式:

.square 
{ 
    background-size: 500% 500%; 
    background-position: -400% -400%; 
} 

這工作完全在所有的瀏覽器中,除了Opera,在元素的右邊和底邊都顯示了一些橙色。我推測這些橙片是重複的背景圖像,就好像Opera已經將圖像進一步抵消了一樣。

我已經創建a jsfiddle test that demonstrates the issue,你可以在Opera瀏覽看到我所描述的不良行爲。關於Opera

細節,從opera:about頂部取出:

Version information 

Version: 12.14 
Build: 1738 
Platform: Win32 
System: Windows 7 

Browser identification 

Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.14 

我已經能夠組裝一些資料,可以提供一些線索:

  • 越大,圖像和進一步它是偏移量(即背景位置的值越大),Opera進一步錯誤。

  • 如果元素正好是藍色正方形的大小(在這種情況下是112×112像素 - 你可以在jsfiddle中看到),Opera會正確渲染。

  • 歌劇呈現正確如果(振奮自己)的圖像尺寸是100的倍數(即,500由500個像素,而不是560由560個像素)。

目前,我猜這是Opera中的一個錯誤,因爲它在所有其他瀏覽器中按照需要工作。我的問題是:

  • 這是一個公平的假設,或者甚至是一個已知的問題? Opera是否違反相關規範?

  • 是否有修補程序或變通方法,比其他的重新渲染的圖像尺寸是100的倍數?

回答

1

我在幾個月前向Opera報告了這種行爲,並且在最新版本的opera中重新測試了它(17。0),並且它按照需要工作,所以我將假設我的問題的答案如下:

  • 是的,這是一個公平的假設。是的,這違反了一些規範。
  • 是的,你可以更新到Opera的最新版本,它的行爲如預期。

僅供參考,有關歌劇院我只是用來測試的細節,拍攝,再次,從opera://about頂部:

Opera 17.0 

Made to discover 

Version information 

Version: 17.0.1241.45 - Checking for updates... 
Update stream: Stable 
System: Windows 7 64-bit (WoW64) 
Browser identification 

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36 OPR/17.0.1241.45