position:绝对是浏览器/窗口的绝对值

时间:2010-12-12 11:15:28

标签: internet-explorer quirks-mode css

我的理解是position: absolute对于具有非静态位置的第一个父母来说是绝对的。如果父母没有指定的位置,那么它对浏览器/窗口来说是绝对的。

另一方面,

position: fixed对浏览器来说是绝对的,但如果处于怪癖模式,它对IE不起作用。

我的问题是我希望有些东西top:0; left:0;,但网站处于怪癖模式,我只在我的个人div内编辑。 (这是一个像myspace这样的用户网站)。有许多父div具有position: relative

如何让position: absoluteposition: fixed一样行动而不需要物体静止(如果需要,它可以是静止的)?

1 个答案:

答案 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);

这是一些代码的摘录,当我仍然相关的时候,我做了一段时间。