jquery を使用して要素の位置を取得し.offset()
、div を に設定し、それを から取得した情報に基づいて設定position:absolute;
しています。left
top
offset()
position:absolute
が次のように定義されているため、すべての要素の親が静的に配置されている限り、これは機能します。
「要素は、最初に配置された (静的ではない) 祖先要素に対して相対的に配置されます」
したがって、この問題を解決するための 2 つの選択肢が提示されます。
- どういうわけか、要素がドキュメントに対して相対的に配置されるように強制します。これを可能にするcss仕様には何もありません。(私が間違っている場合は修正してください)。
- を使用する代わりに
offset()
、最初に配置された祖先要素に対する要素の位置を取得する関数を使用します。(これを行うjQuery関数は見当たりません。position()
要素の親に対して相対的に取得します)。
これら2つのオプションのいずれかを行うにはどうすればよいですか?