强制“位置:绝对”相对于文件而不是父容器

我试图插入div的身体的任何部分,并使其相对于整个文件的“位置:绝对”,而不是一个“位置:相对”的父元素。

你将不得不把位置的position:relative元素和body

我的解决scheme是使用jQuery将div移到其父代之外:

 <script> jQuery(document).ready(function(){ jQuery('#loadingouter').appendTo("body"); }); </script> <div id="loadingouter"></div> 

你正在寻找position: fixed

来自MDN :

固定的定位类似于绝对定位,除了元素的包含块是视口。 这通常用于创build一个浮动元素,即使在滚动页面之后,它仍保持在相同的位置。

简单的CSS和HTML是不可能的。

使用Javascript / jQuery,你可能会得到元素jQuery.offset()到DOM,并比较它的jQuery.position()来计算它应该出现在页面上。

如果你不想把元素附加到body ,下面的解决scheme将工作。

我来到这个问题寻找一个解决scheme,将工作不附加到身体div,因为我有一个mouseover脚本,我想运行时,鼠标是在新的元素和产生它的元素。 只要你愿意使用jQuery,并且启发@Liam William的回答:

 var leftOffset = <<VALUE>>; var topOffset = <<VALUE>>; $(element).css("left", leftOffset - element.offset().left); $(element).css("top", topOffset - element.offset().top); 

该解决scheme通过减去元素的当前左侧和顶部位置(相对于主体),以便将元素移动到0,0来设置。将元素相对于主体放置在任何地方都很简单,就像添加左侧和顶部偏移值。