我正在使用.position找到元素相对于父元素的位置的偏移量,但是它似乎返回一个值,该值是祖先树上某个父元素的偏移量.
我有一个按钮,它包含一个div,它是该div的唯一元素.div正好浮动. .position正在返回一个值{left:780, top:370},当真值应该是{left:200, top:0}.
我正在使用jquery 1.4
mar*_*rkt 19
如果我是正确的,我认为这是一个CSS问题,不一定是jQuery问题.我的理解是CSS"position"属性的默认值是静态的(不是绝对的,相对的),并且相对于第一个未设置为静态的祖先.
如果元素没有具有非静态位置的祖先,则该元素将相对于html块定位.
如果要相对于包装器div定位div,请尝试将包装器div的position属性设置为静态(相对,绝对)以外的值,具体取决于您的需要.
这是一个简单的例子来演示这个..
<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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8796 次 |
| 最近记录: |