は私が相対配置された祖先から絶対配置された要素を外しますか?
<style type="text/css">
div {
border:1px solid;
padding:15px;
}
#i_am_relatively_positioned{
background-color:#fcc;
margin:50px;
padding:50px;
position:relative;
}
#inner {
background-color:#cfc;
}
#i_want_to_be_absolute_to_body{
background-color:#ccf;
left:0;
position:absolute;
top:0;
}
</style>
<body>
<div id="i_am_relatively_positioned">
<div id="inner">inner</div>
<div id="i_want_to_be_absolute_to_body">absolute to body</div>
</div>
</body>
のような文書ではなく、その直接の相対的なコンテナよりも、body要素に関して絶対配置#i_want_to_be_absolute_to_bodyを作るための方法がありますがあると?
私はちょうど否定的なトップと左を使用することができますが、それはkludgeyのようです - これは私の唯一のオプションですか?
同じIDを持つ2つの要素が存在しないように、私はまた、古い要素を削除する必要があると思います= document.getElementById( 'i_want_to_be_absolute_to_body'); el.parentNode.removeChild(el); document.body.appendChild(el); – jemminger
いいえ、それは物事を壊します(IE8とChromeでテスト済み)。 appendChildを実行するだけで、ノードはDOM内で移動します。 SharePointと、クライアントが使用する別のCMSでこれを行う必要があります(通常、コンテナから別のコンテナに要素を移動しているのと同様の理由で)。 – Sean