Internet explorer 位置:绝对到浏览器/窗口的绝对

Internet explorer 位置:绝对到浏览器/窗口的绝对,internet-explorer,quirks-mode,css,Internet Explorer,Quirks Mode,Css,我的理解是,position:absolute对于第一个处于非静态位置的父母来说是绝对的。如果没有父对象具有指定的位置,则该位置将是浏览器/窗口的绝对位置 position:fixed在另一方面对浏览器来说是绝对的,但是如果处于怪癖模式,它不适用于IE 我的问题是,我想要的东西是top:0;左:0但该网站处于怪癖模式,我只在我的个人div内编辑(它是一个像myspace这样的用户网站)。有许多父div具有位置:relative 如何使position:absolute像position:fixe

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

position:fixed
在另一方面对浏览器来说是绝对的,但是如果处于怪癖模式,它不适用于IE

我的问题是,我想要的东西是
top:0;左:0但该网站处于怪癖模式,我只在我的个人div内编辑(它是一个像myspace这样的用户网站)。有许多父div具有
位置:relative


如何使
position:absolute
position:fixed
一样工作,而不需要对象静止(如果需要,它可以静止)?

早期版本的IE不支持position:fixed

我所知道的唯一一件事是JavaScript解决方案,如下所示:

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

这是我不久前做的一些代码的代码摘录,当时这仍然是相关的。

早期版本的IE不支持position:fixed

我所知道的唯一一件事是JavaScript解决方案,如下所示:

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

这是我不久前做的一些代码的代码摘录,当时这仍然是相关的。

你能用javascript杀死整个外部html吗<代码>文档.getElementsByTagName(“正文”)[0].innerHTML=“这是我的div”@thejh我试过了,IE抱怨“无法在关闭子元素之前修改父容器元素”,请在onload处理程序中执行此操作。在窗口中添加一个
load
处理程序。伙计,我感觉到了你的痛苦,理解了你的问题,我现在也遇到了同样的问题=[你能用javascript杀死整个外部html吗?
document.getElementsByTagName(“body”)[0]。innerHTML=“这是我的div”
@thejh我试过了,IE抱怨“在关闭子元素之前无法修改父容器元素”在onload处理程序中执行。将
load
处理程序添加到窗口。伙计,我感觉到了你的痛苦,理解了你的问题,我现在也遇到了同样的问题。=[这似乎只是模仿了“修复”的能力。”在一个地方,通过重新定义它的位置。我希望做
top:0;left:0
参考浏览器窗口正是它,示例仅显示垂直滚动的修复…但是您可以轻松地调整它您希望元素在滚动时保持在原来的位置,不是吗?这就是修复的位置。否则您需要这是绝对的,这是完全支持…这似乎只是模仿的能力,以“修复”在一个地方,通过重新定义它的位置。我希望做
top:0;left:0
参考浏览器窗口正是它,示例仅显示垂直滚动的修复…但是您可以轻松地调整它您希望元素在滚动时保持在原来的位置,不是吗?这就是修复的位置。否则您需要这是绝对的,这是完全支持。。。