微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JQuery – .position不返回相对于父对象的偏移量

我正在使用.position找到元素相对于父元素的偏移量,但是它似乎返回一个值,该值是从父元素到祖先树的偏移量.

我有一个按钮,它包裹着一个div,它是该div的唯一元素. div被浮动了.如果真值在{left:200,top:0}的左边,则返回值为{left:780,top:370}的值.

我正在使用jquery 1.4

解决方法

如果我是正确的,我认为这是一个CSS问题,不一定是jQuery一个..
我的理解是,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>

原文地址:https://www.jb51.cc/jquery/178846.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐