0

如何获得 Div 相对于其父 Div 的位置?使用.position()and.offset()总是给我它在文档中的位置。


HTML:

<div id="frame">
   <div id="inner"></div>
</div>

CSS:

假设framemargin: auto;和为中心width: 1024px

inner有和。left: 300px;_top: 200pxposition: relative;

我想要的是:

一个很好的功能,用于获取inners的位置数据300200(例如,px在使用时不使用.css('left')等。

有没有什么?

4

1 回答 1

4

如果你给父级一个“相对”的“位置”,那么 using.position()应该是它在父级内部的位置。

Using.offset实际上应该始终根据 为您提供其位置document,而 using.position根据其“位置”不是“静态”(默认)的第一个父级为您提供其“位置”。

以下是示例:

http://jsfiddle.net/Z2VNx/

http://jsfiddle.net/Z2VNx/1/

第一个示例用于<br />在容器顶部添加空间,而第二个示例用于padding-top在容器顶部添加空间。两者都返回一个大于0孩子top位置的值。

唯一的问题是position在计算孩子的位置时没有考虑孩子的边距、填充和边框。这是因为所有这些都是元素的一部分,所以即使您可能看不到它们,它们也不会包含在元素的位置计算中。因此,当然,根据您想要查看其位置的元素的确切部分,您需要将其添加到.position. 有些人希望“位置”返回到边框的左上角位置,这意味着添加边距。像这样的东西:

http://jsfiddle.net/Z2VNx/2/

于 2012-11-02T21:04:41.150 回答