我有一个HTML页面并包含3个这样的div: Link
<div style="min-height:100%;">
<div id="TopContent" style="display: inline-block; height: 100px; width: 100%; background-color: #CCDEBB;">
</div>
<div id="LeftContent" style="display: inline-block; width: 25%; border: 3px solid #DFE8F6;">
</div>
<div id="RightContent" style="border: 3px solid #b8cfee; display: inline-block; float: right; width: 72%;">
</div>
</div>
我想根据页面高度值设置LeftContent和RightContent的高度值。我的意思是LeftContent和RightContent高度扩展到页面的末尾。
答案 0 :(得分:1)
使用calc();
#LeftContent{
float:left;
margin-right:3px;
height:calc(100% - 100px); //-100px because height of top bar is 100px
}
对于正确的内容
答案 1 :(得分:1)
您无法使用此HTML控制高度,但您可以使用以下内容来模拟此效果:在/之后:元素:
#LeftContent:after,
#RightContent:after{
content:'';
position:absolute;
top:0;
left:0;
width:100%;
height:9999px;
z-index:-1;
background:#DFE8F6;
}
#RightContent:after{background:#b8cfee;}
答案 2 :(得分:1)
我建议你使用类而不是id。
HTML
<div class="content top"></div>
<div class="content left"></div>
<div class="content right"></div>
CSS
*{
height:100%;
width:100%;
margin:0;
} /* instead of HTML and BODY attributes */
.content{
display:inline-block;
margin-right:-4px; /*to margin left div with the right one!*/
margin-top:-4px; /*to margin left and right divs with the top one!*/
}
.left{
height:calc(100% - 200px); /*use calc(100% - "top div height" */
width:50%; /*choose your own width*/
background-color:red;
}
.right {
height: calc(100% - 200px); /*use calc(100% - "top div height" */
width:50%; /*choose your own width*/
background-color:green;
}
.top{
width:100%;
height:200px;
background-color:blue;
}
希望这可以帮到你! (详见http://codepen.io/utopy/pen/zcyti)
答案 3 :(得分:0)
喜欢这个demo?
只需将float: left;
添加到LeftContent
答案 4 :(得分:0)
<style>
html, body {
margin: 0;
padding: 0;
height: 100%;
}
</style>
<div style="min-height:100%;height:100%;">
<div id="TopContent" style="height: 100px; width: 100%; background-color: #CCDEBB;">
</div>
<div id="LeftContent" style="min-height:100%;width: 25%; border: 3px solid #DFE8F6;float:left">
</div>
<div id="RightContent" style="min-height:100%;border: 3px solid #b8cfee; width:72%;float:right">
</div>
</div>
答案 5 :(得分:0)
目前,您的解决方案无效,这是因为网页documents
呈现的方式。
目前,从您的HTML中,当前文档的高度如下:
100px (from TopContent)
+ 3px (from LeftContent)
+ 3px (from RightContent)
由于document
不需要大于106px
(基于内容),因此document
元素不会呈现为更多。
您可以通过将body / html CSS属性设置为100%的高度来解决此问题。
使用以下CSS执行此操作:
body,html {
height:100%;
}
此外,您还需要将容器div的高度设置为
<div style="height:100%;">
以下是您问题的示例JSFiddle。
答案 6 :(得分:-2)
你应该使用jquery,在这个事件中设置div的高度
$(window).resize(function () {
$('#LeftContent').css('height',$(window).height());
$('#RightContent').css('height',$(window).height());
});