jQuery中的非整数偏移位置

jQuerys偏移函数有时会返回有理数(如12.645613)的顶部或左侧。 我认为顶部和左侧的位置是以像素为单位的,所以应该是整数(没有半像素,或?)。


顶部和左侧位置可以是具有cm,mm,in,pt,pc,em,ex或px或百分数中的任何单位的浮点数。

例:

.someElement { top: 42%; left: 3.14in; }

offset函数返回翻译为像素的位置,所以很可能是浮点数。 值不是四舍五入。

在给出的例子中,如果父级的高度例如是32像素,则元素的top值将是32 * 0.42 = 13.44像素。


这是一个古老的问题,但我想我可以在这里为后人发表一个答案。

我也遇到过这个问题,并且我发现(感谢Firebug),问题在于h1和h3标签具有浮点边距(例如,默认情况下Firefox给出<H1> 0.67em 0边距)。

删除<H1><H3>标记$(".fixedColumn").eq(0).offset().top返回一个整数。 您可以为这些标签指定边距,并且应该修复问题。

链接地址: http://www.djcxy.com/p/49913.html

上一篇: Non integer offset positions in jQuery

下一篇: "The operation cannot be completed"