我知道这个问题已经被问了很多,我向你保证我已经阅读了大部分答案。但是,就我而言,它都没有对我有用。我目前正在尝试这个:
window.onload = function(){
var winWidth = parseInt(window.innerWidth);
var winHeight = parseInt(window.innerHeight);
document.getElementById("copyRight").innerHTML = winHeight;
//This is so I could make sure the height was actually changing. It is.
document.getElementById("grandeContain").style.width = winWidth-15+"px";
document.getElementById("grandeContain").style.height = winheight+"px";
document.getElementById("contain").style.width = winWidth-105+"px";
document.getElementById("contain").style.height = winHeight-90+"px";
document.getElementById("outside").style.width = winWidth-105+"px";
document.getElementById("outside").style.height = winHeight-90+"px";
document.getElementById("aroundToolBar").style.height = winHeight-90+"px";
}
然而,无论我做什么,身高都不会改变onload
(我也有这个副本并粘贴到onresize
函数中,但这也不起作用)。宽度部分工作正常(不仅仅因为这是div的默认设置;我已根据window.innerWidth
测试了许多不同的宽度并且它已更改)但高度拒绝改变。我究竟做错了什么?我总是在动态改变身高方面遇到麻烦,如果能够一劳永逸地解决这个问题,那将会很棒。
另外,如果css与它有关,则div树是这样的:grandeContain>contain>(aroundToolBar+outside)
其中contain
是position:relative
,aroundToolbar
是float:left
width:125px
和outside
position:relative
margin 0 0 0 125px
。
有谁知道我在这里做错了什么?
此外,由于grandeContain
div中的页眉和页脚,其中包含兄弟姐妹,所以105s和90s都是soley。
答案 0 :(得分:1)
您是否检查过firebug是否有错误?好像在线:
document.getElementById("grandeContain").style.height = winheight+"px";
你有一个拼写错误:应该是winHeight+"px"
而不是winheight+"px"
;可能导致变量未定义错误。