2011-04-11 51 views
1

我定位背景子畫面和改變在懸停(使用jQuery)的位置,並且它按預期在Chrome,IE(8)和Safari(我在一臺PC,Win 7),但我遇到了Firefox(4)的問題。什麼也沒有發生,並在錯誤控制檯我得到這個:問題與PX背景位置在Firefox 4

警告:錯誤分析值「背景」的位置。聲明下降了。

我最初定位是這樣的背景:

background-position: bottom left; 

,改變懸停的位置是這樣的:

$(document).ready(function() { 

var bgPos = 'bottom left'; 

     $("#nav-01").hover(function() { $('.nav-wrap').css('background-position', '-787px left'); }, function() { $('.nav-wrap').css('background-position', bgPos); }); 
     $("#nav-02").hover(function() { $('.nav-wrap').css('background-position', '-656px left'); }, function() { $('.nav-wrap').css('background-position', bgPos); }); 
     $("#nav-03").hover(function() { $('.nav-wrap').css('background-position', '-525px left'); }, function() { $('.nav-wrap').css('background-position', bgPos); }); 
     $("#nav-04").hover(function() { $('.nav-wrap').css('background-position', '-394px left'); }, function() { $('.nav-wrap').css('background-position', bgPos); }); 
     $("#nav-05").hover(function() { $('.nav-wrap').css('background-position', '-263px left'); }, function() { $('.nav-wrap').css('background-position', bgPos); }); 
     $("#nav-06").hover(function() { $('.nav-wrap').css('background-position', '-132px left'); }, function() { $('.nav-wrap').css('background-position', bgPos); }); 
     $("#nav-07").hover(function() { $('.nav-wrap').css('background-position', '-1px left'); }, function() { $('.nav-wrap').css('background-position', bgPos); }); 

    }); 

要調試我試圖改變'-787px左'「左上方」和工作,所以這個問題似乎被定位在Firefox中使用PX的背景是什麼?這是一個錯誤(一個功能......嘿嘿)還是我只是做錯了什麼...? (我也嘗試過使用em和%,但它們都不起作用)。

回答

3

-787px對於background-position是一個完全有效的值。但是,您正在混合順序:水平排在第一位。這可能是問題所在。嘗試調整值:

left -787px 
+0

謝謝,我只是想回答我自己的問題,說明這一點。有點尷尬,但希望它會幫助別人的未來...;) – Anna 2011-04-11 09:20:29

+1

另注 - 在定位CSS2混合值是不允許的。這讓固定CSS2.1 – easwee 2011-04-11 11:04:52

+0

@Anna:你應該用旁邊的對勾標記這個答案是正確的... – 2011-12-13 11:31:03