为什么jQuery .css('left')和.position().left会返回不同的值?

Gau*_*nia 14 jquery google-chrome jquery-animate

我得到的价值观$(el).css('left')$(el).position().left不同?

如果我去$(el).css('left', '100px'),那么$(el).css('left')它返回110px而不是100px(是的,它总是多10%)如果我评价$(el).position().left,它给了我100.

为什么Chrome会以这种方式运行?您可以看到这将如何影响使用该left属性的jQuery动画.

我在Ubuntu上使用Chrome 21.0.1180.57.

编辑1:似乎只影响Chrome,FF 14.0.1给了我相同的值.

Esa*_*ija 20

leftCSS left属性的返回计算值.

position().left 返回相对于元素的第一个偏移父级的x坐标.

这些值可以相等,也可以不相等.

position().left由于渲染不同,浏览器之间也可以很容易地出现差异,.css("left")但只能给出不同的单位.