假设我有一个包含以下结构的页面:
<div id="page">
<div class="someblock">
....
<div class="container">
<span>January</span>
<span>February</span>
<span>March</span>
...
</div>
....
</div>
</div>
CSS
#page {
position:relative;
width:1000px;
margin:0 auto;
}
.someblock {
margin-left:500px;
}
.container span {
display:inline-block;
}
现在我希望得到<span>
var pos = $(".container span").first().offset().left;
假设pos
必须为0,但实际值约为1000.在搜索问题后,我发现offsetParent
<span>
的{{1}}不是{&1;}。 t .container
但#page
。为什么?!!进一步搜索后,我发现元素之间的唯一区别是position
。 relative
为#page
,static
为.contaier
(浏览器为默认值)。临时解决方案是
div {
position:relative;
}
但我不想要这种改变。所以我的问题 - 虽然它有position:static
,但如何获得元素的偏移?
答案 0 :(得分:0)
你必须清楚地显示所有元素,所以添加:
div {
display:block;
}
.container {
width:100%;
float:left;
}
答案 1 :(得分:0)
试试吧
var pos = $(".container").offset().left - $(".container span").first().offset().left;