代码之家  ›  专栏  ›  技术社区  ›  Tomasz Zieliński

将一个分区移到另一个分区上

  •  1
  • Tomasz Zieliński  · 技术社区  · 15 年前

    我有两个 div 双生子元素(即尺寸和内容相同)。我想把这些分区移到另一个分区上,这样它们的角坐标完全相同。我想做的是:

    var offset = $('div#placeholder').offset();
    $('div#overlay').css('position', 'absolute').css('left', offset.left + 'px').css('top', offset.top + 'px')
    

    --但这会导致覆盖精确到(或几乎精确到,考虑到子像素精度)占位符下方16px(下方,即覆盖层顶部=占位符顶部+16px)。

    我知道 偏移量() 给出与文档相关的位置,以及 位置:绝对 设置相对于的位置 身体 元素,但补偿 主体偏移量() 没有多大帮助(我得到8px的偏移量,等于页边距):

    offset.top -= $('body').offset().top;
    offset.left -= $('body').offset().left;
    

    另外,补偿 身体 利润率(以防它们与 偏移量() 没有帮助,因为它们被设置为8px)。

    有人知道我做错了什么吗?

    更新: 看一看 here -我在火狐3.6.3和Opera 10.10中得到了同样的结果。

    1 回复  |  直到 15 年前
        1
  •  1
  •   tvanfosson    15 年前

    我怀疑您有一些CSS规则是基于样式表中的类/名称/元素类型应用的。我建议您尝试通过javascript将元素的边距/填充设置为0。您还可能希望使用WebDeveloper或Firebug,并在重新定位后检查元素上的计算样式,以查看正在应用的样式以及从何处应用的样式。