我正在使用.position找到元素相对于父元素的偏移量,但是它似乎返回一个值,该值是从父元素到祖先树的偏移量.
我有一个按钮,它包裹着一个div,它是该div的唯一元素. div被浮动了.如果真值在{left:200,top:0}的左边,则返回值为{left:780,top:370}的值.
我正在使用jquery 1.4
解决方法
如果我是正确的,我认为这是一个CSS问题,不一定是jQuery一个..
我的理解是,CSS“position”属性的默认值是static(不是绝对的,相对的),并且相对于未设置为static的第一个祖先计算定位.
我的理解是,CSS“position”属性的默认值是static(不是绝对的,相对的),并且相对于未设置为static的第一个祖先计算定位.
如果元素没有不带静态位置的祖先,元素将相对于html块定位.
如果要将div相对于包装器div放置,请根据需要尝试将包装器div的position属性设置为static(relative,absolute)以外的其他属性.
这是一个简单的例子来演示这个..
<html> <style type="text/css"> .divOuter { border:1px solid Green; width:350px; height:50px; padding:2px; margin-left:80px; } .divInner{border:1px solid Blue; width:200px; height:50px; padding:2px; position:absolute; left:100px;} </style> <body> <div class="divOuter"> <div class="divInner"> positioned relative to html block </div> </div> <div class="divOuter" style="position:relative;"> <div class="divInner"> positioned relative to parent div </div> </div> </body> </html>