Can';t将DIV设置为另一个DIV HTML/Javascript
由于某些原因,我的包装器div将不等于maincontent div的高度。我将发布代码,如果有人能帮助我理解原因,我将非常高兴。此外,如果需要,我可以使用jquery Javascript:Can';t将DIV设置为另一个DIV HTML/Javascript,javascript,jquery,html,css,height,Javascript,Jquery,Html,Css,Height,由于某些原因,我的包装器div将不等于maincontent div的高度。我将发布代码,如果有人能帮助我理解原因,我将非常高兴。此外,如果需要,我可以使用jquery Javascript: var wrap=document.getElementById('wrapper'); var left=document.getElementById('maincontent').style.height; wrap.style.height=left; HTML: 1-如果要获得元素的渲染
var wrap=document.getElementById('wrapper');
var left=document.getElementById('maincontent').style.height;
wrap.style.height=left;
HTML:
1-如果要获得元素的渲染高度,请使用字体高度或离视高度或滚动高度中的一个,而不是样式高度 2-确保包装有结束标记
3-设置元件高度时,不要忘记高度值后的“px”
4-如果您的div中有未设置高度的图像,则必须等待图像加载,然后才能触发高度功能。您可以使用
$(窗口)。加载或其他一些方法…我不知道我是否猜对了,但是
您所描述的一个可能原因是maincontent
DIV中存在float
指令
在本例中,包装器DIV的高度错误——它忽略了maincontent DIV的存在,maincontent DIV似乎位于其下方
这是由maincontent DIV中的float:left
指令引起的。Afloat
将从HTML流中删除该DIV,并且父DIV将缺少该高度。事实上,maincontent DIV溢出了包装器DIV
解决方案:
在父DIV(即包装器DIV)上放置一个overflow:hidden
或overflow:auto
注:
position:absolute
和position:fixed
也将从流中删除div。但是,它们不能通过使用溢出来“修复”:\uuuuuuuuuuuuuuuuuuuuuuu
。可能需要手动设置包含DIV的高度,或者使用javascript或其他一些向导。您应该知道ele.style.height和ele.clientHeight之间的区别
我在这里写了一个演示
可能会有帮助。您应该澄清您的问题,并提供一个JSFIDLE/codepen脚本示例,以便其他人更快地解决问题。问题本身——你是说你希望maincontent div将包装器div填充到相同的精确维度吗?包装器中有第二个div,因此除非你浮动该div或弄乱定位,否则你的maincontent div将无法以某种方式扩展整个高度。是的,这是完美的。我知道一些关于我的HTML的事情,这就是为什么我的包装器什么也没做。非常感谢你
<div id="wrapper">
<!-- TemplateBeginEditable name="Main Content" -->
<div id="maincontent">
</div>
<!-- TemplateEndEditable --><!-- TemplateBeginEditable name="Background image" -->
<div id="image" style="background-image: ;">
</div>