我试图让一个HTML页面2周的div:“顶”和“主”HTML高度100%的原因页溢出
顶部<div>
必须考虑其所含元素的地方,主要<div>
必须采取所有剩下的地方。
这里是我的尝试:
CSS代码:
html,body{
height:100%;
}
#top{
background-color : red;
padding:10px;
border:1px solid;
}
#main{
background-color : blue;
height:100%;
padding:10px;
border:1px solid;
}
#content1{
background-color:yellow;
}
#content2{
background-color:yellow;
height :100%;
}
HTML代码:
<!DOCTYPE html>
<html>
<head></head>
<body>
<div id="top">
<div id="content1">content1</div>
</div>
<div id="main">
<div id="content2">content2</div>
</div>
</body>
</html>
这里是jsFiddle
为y你可以看到,我在“content2”上设置的“100%”使得这个div占据了页面高度的100%,而不仅仅是剩余的空间。有没有一个神奇的CSS属性来解决这个问题?
编辑:
感谢您对您所有的解决方案。
我最终选择了由Riccardo Pasianotto根据CSS属性display:table
和display:table-row
提出的解决方案。
这是我最后的HTML代码:
<!DOCTYPE html>
<body>
<div id="content1" class="row">
<div class="subcontent">
<div class="subContentContainer">
content1
</div>
</div>
</div>
<div id="content2" class="row">
<div class="subcontent">
<div class="subContentContainer">
content2
</div>
</div>
</div>
</body>
以下是相应的CSS代码:
html,body{
padding:0;
margin:0;
height:100%;
width:100%;
}
body{
display:table;
}
.row{
display:table-row;
width:100%;
}
#top{
height:100px;
}
#content1{
background:#aa5555;
padding:10px;
}
#content2{
background:#5555AA;
height:100%;
}
.subcontent{
padding : 10px;
height:100%;
}
.subContentContainer{
background-color:yellow;
height:100%;
}
这里是相应Jsfiddle。
为什么你想有你的主要内容坚守的底部?也许你想在页面的底部有一个页脚? – Brewal
您错过了HTML中的DOCTYPE。 – Uooo
稍后,我会在黄色区域周围放置一个边框。然后,如果主要内容的高度与区域一样大,我会放置滚动条。对于用户来说,我认为如果这个区域的大小永远不会改变,它就会更干净。 –