我正在定位背景精灵并更改悬停位置(使用 jQuery),它在 Chrome、IE(8)和 Safari(我在 PC 上,Win 7)中按预期工作,但我遇到了问题火狐 (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 left'更改为'top left'并且效果很好,所以问题似乎是在 Firefox 中使用 px 定位背景?这是一个错误(一个功能......呵呵)还是我只是做错了什么......?(我也尝试过使用 em 和 % 但都没有奏效。)