我正在尝试制作一个带有 2 个 div 的 html 页面:“top”和“main”
顶部<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
如您所见,我在“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。