这是我的代码。
超文本:
<div class="div1">
<div class="div2">
Div2 starts <br /><br /><br /><br /><br /><br /><br /> Div2 ends
</div>
<div class="div3">
Div3
</div>
</div>
CSS:
.div1 {
width: 300px;
height: auto;
background-color: grey;
border: 1px solid;
overflow: auto;
}
.div2 {
width: 150px;
height: auto;
background-color: #F4A460;
float: left;
}
.div3 {
width: 150px;
height: auto;
background-color: #FFFFE0;
float: right;
}
我想动态增加div3
的高度。
例如,如果div1
的高度是500px
,那么div3
的高度应该是500px
,我知道,我可以使用继承,但是div1
的高度是auto
,所以它没有帮助。
这是我的小提琴http://jsfiddle.net/prashusuri/E4Zgj/1/
如何做到这一点?
7条答案
按热度按时间bz4sfanl1#
lb3vh1jj2#
通过指定位置我们可以实现这一点,
但是使用浮动不可能实现这一点。
j0pj023g3#
获得等高列的最简单方法是使用
display: table
属性,而不会产生绝对定位沿着的不良副作用:http://jsfiddle.net/E4Zgj/21/
现在,如果您的目标是使
.div2
的高度与容纳其内容所需的高度相同,而.div3
的高度至少与.div2
一样,但如果其内容使其高度超过.div2
,则仍然能够扩展,那么您需要使用Flexbox。(IE10、Opera、Chrome、Firefox遵循的是旧规范,但很快就会遵循当前规范)。http://jsfiddle.net/E4Zgj/22/
bt1cpqcv4#
灵活回答
检查http://jsfiddle.net/germangonzo/E4Zgj/575/处的小提琴
ssgvzors5#
我不相信你能用css做到这一点。最初javascript就是为此设计的。试试这个:
和javascript函数:
在加载div 1(或整个页面)之后调用javascript。
您还可以用代码操作类div 3替换 document.getElementById('div 3').style.height,因为我的代码只添加/更改元素的style属性。
希望这个有用。
pprl5pva6#
mzillmmw7#
在这段代码中,左侧面板的高度将动态调整为右侧面板的高度...
您可以在此处尝试http://jsfiddle.net/SriharshaCR/7q585k1x/9/embedded/result/