不同的行为弹出窗口css

时间:2012-02-26 09:16:09

标签: css popup

以下代码在本地计算机上运行良好,但在远程服务器弹出窗口中不考虑滚动宽度,即使我将页面向上滚动到页面顶部也会出现在页面顶部。问题仅出现在IE中,仅出现在远程服务器上。文件是一样的。我该怎么检查?

HTML

<div style="position:absolute;">
    <div id="a_div">
        123
     </div>
</div>

CSS

#a_div {
    display:none;
    position:fixed;
    width:850px;
    top:35px;
    border:1px solid #B1B8C7;
    background:white;
    z-index:3000;
}

JS

function showaDiv() {
    var div = document.getElementById('a_div');
    var width = document.body.clientWidth;
    if (div) {
        div.style.left = Math.round((width-850)/2)+'px';
        div.style.display = 'block';
        document.getElementById('a_bgdiv').style.display = 'block';
    }    
}

1 个答案:

答案 0 :(得分:0)

如果您想垂直居中,请尝试this fiddle

function showaDiv() {
    var div = document.getElementById('a_div');
    var width = document.body.clientWidth;
    var height = getDocHeight();
    if (div) {
        div.style.left = Math.round((width-850)/2)+'px';
        div.style.display = 'block';
        div.style.top = Math.round((height-div.clientHeight)/2)+'px';
        //document.getElementById('a_bgdiv').style.display = 'block';
    }    
}

function getDocHeight() {
    var D = document;
    return Math.max(
        Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
        Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
        Math.max(D.body.clientHeight, D.documentElement.clientHeight)
    );
}

刚刚添加了顶部。