2

我编写了一个脚本来调整 div 的大小,相对于另一个 div 的高度加上 70px (这是边距(顶部和底部)的大小)的大小,并将其加载到 window.onload 函数中。

        <script language="JavaScript">
        function tamanho_wrapper2(){
            var mydiv = document.getElementById("topicos");
            var current_height = parseInt(mydiv.offsetHeight);
            var wrapper2 = document.getElementById("wrapper2");
            wrapper2.style.height = current_height+70+"px";

        }
    </script>

它在 Firefox 上工作,div 正是我想要的样子。但是在 chrome 上,在第一页的加载中,它在我得到高度的 div 的高度中包括底部和顶部边距的大小,所以 div 变得比我想要的大。奇怪的是,当页面重新加载时,chrome 只计算 div 的自身高度,作为 firefox。它已经发生在你身上了吗?

编辑:嗯,我最后得出的结论是,老事实:浏览器的引擎工作方式不同,而发生在我身上的事情就是一个证明。谢谢你们的关注。

Edit2:神奇地,浏览器的奇怪行为停止发生。

4

2 回答 2

3

尝试重置您的样式表(上面的链接)。所有浏览器对每个元素都有自己的默认样式,也许 Chrome 正在将其默认样式添加到您的 div 中,其他浏览器也可能以不同的方式显示它。

http://meyerweb.com/eric/tools/css/reset/

PS:对不起,我的英语有时更差:P

于 2012-12-21T17:03:53.450 回答
0

我不确定为什么您的 javascript 在 Chrome 中不起作用,我觉得它很合适。你试过用jquery吗?我刚刚测试了这个 i chrome 并没有任何不利影响。我希望它有帮助:)

<div id="div1" style="background-color:#ff0000; height:50px; width:10px; float:left;"></div>

<div id="div2" style="background-color:#00ff00; height:150px; width:10px; float:left;"></div>

<input type="button" value="resize" onclick="resizeDiv();" />

然后这个jquery代码:

function resizeDiv(){
$('#div1').css('height', $('#div2').css('height'));
}
于 2012-12-21T13:47:35.347 回答