开发一个与大多数流行的浏览器尽可能兼容的Web应用程序时,我面临一个奇怪的问题:

我有一个HTML,我想通过单击按钮将页面内的页面从其原始位置移动到另一个位置。

这是HTML代码:

<div id="content"> text content ... </div>

关联的CSS:

div#content{ padding: 15px 15px 15px 215px;}

和javascipt在单击按钮时移动块:

document.getElementById('content').style.padding="15px 15px 15px 15px";

=>可以在Firefox,IE和Opera中正常运行(基本上,它可以将最初占页面一半的内容块扩展到整个页面)

=>而在Chrome中,javascript代码不会扩展块的宽度,而是以固定的宽度将其移动200px(但是如果我一次对填充修改进行硬编码,它就可以正常工作...)

我希望足够清楚:如果有人有解决办法..
提前致谢。

最佳答案

如果您将填充替换为边距,则它在Firefox和Chrome(无论如何在我的PC上)中都相同:

div#content{
    padding: 0;
    margin: 15px 15px 15px 15px;
    background: #fff;
}


接着:

function hideSideBar(){
    document.getElementById('content' ).style.margin="15px 15px 15px 15px";
    document.getElementById('out' ).style.display="none";
    document.getElementById('in' ).style.display="block";
}

function showSideBar(){
    document.getElementById('content').style.margin="15px 15px 15px 215px";
    document.getElementById('out' ).style.display="block";
    document.getElementById('in' ).style.display="none";
}


您可能必须将其余的一些样式弄混,以使其看起来相同。

我认为Chrome所做的事情是合理的(不是我已经查看过要检查的规格),增加填充量自然应该使代码块更宽。

关于javascript - Google Chrome浏览器中用于CSS样式修改的Javascript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1583065/

10-14 07:04