我对#34;圣杯"布局,您会注意到#main
有min-height: 800px
。我真正想要的是100%的高度,然后当我在section
内添加内容时,其余的布局继续下去(就像现在一样)。
任何想法如何实现这一点,100%高度并没有明确设置800px?
body {
font: 24px Helvetica;
background: #999999;
margin: 0;
padding: 0;
height: 100%;
}
#main {
min-height: 800px;
margin: 0;
padding: 0;
display: flex;
flex-flow: row;
}
#main>article {
border: 1px solid #cccc33;
background: #dddd88;
flex: 3 1 60%;
order: 3;
}
#main>nav {
border: 1px solid #8888bb;
background: #ccccff;
flex: 1 6 70px;
order: 1;
max-width: 70px;
min-width: 70px;
}
#main>aside {
border: 1px solid #8888bb;
background: #ccccff;
flex: 1 6 300px;
order: 2;
max-width: 300px;
min-width: 300px;
}
header {
display: block;
padding: 5px;
min-height: 70px;
border: 1px solid #eebb55;
background: #ffeebb;
}
section {
margin: 10px;
}
.container {
margin: 0;
padding: 0;
display: flex;
flex-flow: row;
}
.container>.field {
width: 100%;
background: #dddd88;
order: 2;
}
.container>.left {
width: 4px;
background: black;
order: 1;
}
.container>.right {
width: 4px;
background: black;
order: 3;
display: flex;
}
.top,
.bottom {
display: block;
height: 4px;
background: red;
}

<div id='main'>
<article>
<header>header</header>
<section>
<div class="top"></div>
<div class="container">
<div class="field">
Sub Container w/ borders
</div>
<div class="left"></div>
<div class="right"></div>
</div>
<div class="bottom"></div>
</section>
</article>
<nav>nav</nav>
<aside>aside</aside>
</div>
&#13;
答案 0 :(得分:3)
如果您希望元素占据100%视口高度,并选择展开以容纳其他内容,请使用min-height: 100vh
(demo)。
由于以下帖子中解释的原因,百分比高度不如视口百分比高度那样高效且易于使用。