假設我有如下因素構成的頁面:錯誤offsetParent和offsetleft的分度`位置:static`
<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.在搜索問題後,我發現的<span>
不是.container
,而是#page
。爲什麼?!!經過進一步搜索,我發現元素之間的唯一區別是position
。對於.contaier
(瀏覽器的默認值),#page
和static
爲relative
。臨時解決方案是
div {
position:relative;
}
但我不想這個改變。所以我的問題 - 如何抵消一個元素,雖然它有position:static
?
是否有另'.container'頁面上? – waki
不,只有一個'.container' – folibis
看看那個http://jsfiddle.net/5yxwmL95/,展開'result area'並重新運行,你可以看到值是變化的。 – waki