jQuery 中的非整数偏移位置
jQuery 的偏移函数有时会返回顶部或左侧的有理数(如 12.645613)。我认为顶部和左侧位置以像素为单位,因此应该是整数(没有半像素,或者?)。
jQuerys offset function sometimes returns rational numbers (like 12.645613) for top or left. I thought that top and left positions are in pixels and so should be integers (there are no half pixel, or?).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
顶部和左侧位置可以是任何单位 cm、mm、in、pt、pc、em、ex 或 px 或百分比的浮点数。
示例:
offset 函数返回转换为像素的位置,因此它很可能是浮点数。这些值未进行四舍五入。
根据给出的示例,如果父级的高度为 32 像素,则该元素的
top
值将为 32 * 0.42 = 13.44 像素。Top and left positions can be floating point numbers with any of the units cm, mm, in, pt, pc, em, ex or px, or percentages.
Example:
The
offset
function returns the position translated into pixels, so that can very well be a floating point number. The values are not rounded.With the example given, if the height of the parent would for example be 32 pixels, the
top
value of the element would be 32 * 0.42 = 13.44 pixels.这是一个老问题,但我想我可以在这里发布答案,供后代使用。
我也遇到了这个问题,我发现(感谢 Firebug)问题在于 h1 和 h3 标签具有浮点边距(例如,Firefox 默认情况下给出
0.67em 0
边距)。当您删除
和
标记时
$(".fixedColumn").eq(0).offset().top< /code> 返回一个整数。您只需指定这些标签的边距,问题就应该得到解决。
This is an old question, but I guess I could post an answer here, for posterity.
I was having this issue too, and I found out (thanks Firebug) that the problem lies in that the h1 and h3 tags have floating point margins (for instance, Firefox by default gives
<H1>
a0.67em 0
margin).When you delete the
<H1>
and<H3>
tags$(".fixedColumn").eq(0).offset().top
returns an integer. You could just specify margins for those tags and the problem should be fixed.