我正在努力学习我的动态内容。那么让我在一张图片中解释一下:
所以我的html看起来像:
<div id="header"> ... </div>
<div id="container">
<div class="block"> ... </div>
<div class="block"> ... </div>
<div class="block"> ... </div>
<div class="block"> ... </div>
</div>
<div id="footer"> ... </div>
我的问题:如何让我的容器变得流畅并且页眉和页脚是固定的?容器中的块设置为50%的高度和宽度,因此只有容器必须是100%的高度( - 固定的页眉和页脚)。
答案 0 :(得分:7)
您可以使用box-sizing
属性执行此操作。
像这样:
<强> FIDDLE 强>
(我在这里使用的示例假定标题为64px高度和30px高度的页脚)
<header>header</header>
<div class="container">
<div id="content">
<div class="block">block1</div><!--
--><div class="block">block2</div><!--
--><div class="block">block3</div><!--
--><div class="block">block4</div>
</div>
</div>
<footer>footer</footer>
html,body
{
height: 100%;
}
header,footer,div
{
width: 100%;
}
.container
{
height: 100%;
background: pink;
margin: -64px 0 -30px;
padding: 64px 0 30px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#content {
overflow:auto;
height:100%;
}
.block
{
width: 50%;
height: 50%;
display: inline-block;
border: 1px solid yellow;
-moz-box-sizing: border-box;
box-sizing: border-box;
text-align: center;
}
header
{
height: 64px;
background: purple;
position: relative;
z-index:1;
}
footer
{
height: 30px;
background: gray;
position: relative;
z-index:1;
}
答案 1 :(得分:2)
喜欢这个
<强> working demo 强>
<强> CSS 强>
*{
margin:0;
padding:0;
}
#header{
height:100px;
background-color:red;
position:fixed;
top:0;
width:100%;
}
#footer{
height:100px;
background-color:green;
position:fixed;
bottom:0;
width:100%;
}
#container{
background-color:#F7F7F7;
width:100%;
top:100px;
position:relative;
}
.block{
width:50%;
background-color:gray;
float:left;
}
答案 2 :(得分:2)
使用float
使其成为流畅的设计。添加边框或填充时,请注意width
部分。因为这些是使用width
计算的。正如Danield所说,你可以使用Box sizing
显然,测量应该是百分比以使其响应或者您可以写media queries。
答案 3 :(得分:1)
您使用twitter-bootstrap
标记了您的问题。这是一个更友好的Bootstrap方法:
演示: http://bootply.com/render/88297
这使用了一个有点标准的BS标题/导航和固定页脚。然后,中心容器使用table
,table-row
和table-cell
来相应地调整中心框的大小,为50/50。
.center-container {
height:100%;
display: table;
width:100%;
margin:0;
}
.center-row {
height:50%;
width:100%;
display: table-row;
}
.center-row > div {
height:100%;
width:50%;
display: table-cell;
border:1px solid #eee
}