我的理解是position: absolute
对于具有非静态位置的第一个父母来说是绝对的。如果父母没有指定的位置,那么它对浏览器/窗口来说是绝对的。
position: fixed
对浏览器来说是绝对的,但如果处于怪癖模式,它对IE不起作用。
我的问题是我希望有些东西top:0; left:0;
,但网站处于怪癖模式,我只在我的个人div内编辑。 (这是一个像myspace这样的用户网站)。有许多父div具有position: relative
。
如何让position: absolute
像position: fixed
一样行动而不需要物体静止(如果需要,它可以是静止的)?
答案 0 :(得分:1)
早期版本的IE只是不支持position:fixed;
我唯一知道的是像这样的javacript解决方法:
var layerPadding = 5;
function layerScrollFixEx() {
if (layerGetScrollPosition() != (document.getElementById('layer').offsetTop - layerPadding)) {
document.getElementById('layer').style.top = layerGetScrollPosition() + layerPadding + "px";
}
}
function layerGetScrollPosition() {
if (typeof window.pageYOffset != 'undefined') {
return window.pageYOffset;
}
else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') {
return document.documentElement.scrollTop;
}
else if (typeof document.body != 'undefined') {
return document.body.scrollTop;
}
}
layerScrollInterval = window.setInterval("layerScrollFixEx()", 1);
这是一些代码的摘录,当我仍然相关的时候,我做了一段时间。