本文の任意の部分にdivを挿入し、position: absolute
を持つ親要素ではなく、ドキュメント全体に対してposition: relative
を作成しようとしています。
div
をposition:relative
要素の外側に配置し、body
に配置する必要があります。
あなたが探しています position: fixed
。
MDNから :
固定配置は、要素の包含ブロックがビューポートであることを除いて、絶対配置に似ています。これは、ページをスクロールした後でも同じ位置にとどまるフローティング要素を作成するためによく使用されます。
私の解決策は、jQueryを使用してdivをその親の外に移動することでした。
<script>
jQuery(document).ready(function(){
jQuery('#loadingouter').appendTo("body");
});
</script>
<div id="loadingouter"></div>
要素をbody
にアタッチしたくない場合は、次のソリューションが機能します。
新しい要素とそれを生成した要素の両方の上にマウスが置かれたときに実行したいマウスオーバースクリプトがあるため、divをボディにアタッチしなくても機能するソリューションを探してこの質問に来ました。 jQueryを使用する意思があり、@ Liam Williamの答えに触発されている限り:
var leftOffset = <<VALUE>>;
var topOffset = <<VALUE>>;
$(element).css("left", leftOffset - element.offset().left);
$(element).css("top", topOffset - element.offset().top);
このソリューションは、要素を0、0に移動するために、要素の現在の左と上の位置(ボディに対して)を減算することによって機能します。値。
これは、CSSとHTMLだけでは不可能です。
Javascript/jQueryを使用すると、要素jQuery.offset()
をDOMに取得し、jQuery.position()
と比較して、ページ上のどこに表示するかを計算できます。