2011-04-11 34 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