强制“位置:绝对”相对于文件而不是父容器
我试图插入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来设置。将元素相对于主体放置在任何地方都很简单,就像添加左侧和顶部偏移值。