首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery - .position未返回相对于父级的偏移量

问JQuery - .position未返回相对于父级的偏移量
EN

Stack Overflow用户
提问于 2010-05-16 10:47:04
回答 1查看 9K关注 0票数 11

我使用.position来查找元素相对于父元素的偏移量,但是它返回的值似乎是从祖先树向上的某个父元素的偏移量。

我有一个按钮,它被一个div包住了,它是div中唯一的元素。div向右浮动。当真值应该在{left:200, top:0}附近时,.position会返回一个类似于{left:780, top:370}的值。

我使用的是jquery 1.4

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-16 10:57:56

如果我是正确的,我认为这是一个CSS问题,不一定是jQuery问题。我的理解是CSS "position“属性的默认值是静态的(不是绝对的、相对的),并且定位是相对于没有设置为static的第一个祖先计算的。

如果元素没有具有非静态位置的祖先,则元素将相对于html块进行定位。

如果希望相对于包装器div定位div,请尝试根据需要将包装器div的position属性设置为静态(相对、绝对)以外的值。

这里有一个简单的例子来演示这一点。

代码语言:javascript
复制
<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>
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2842432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档