我正在尝试创建一个自动适应高度的应用页面。在页面中使用的HTML代码中跟随
<div id="main" role="main">
<header class="header">
<div class="allPageHeaderImg"></div>
<div class="logo"><img src="images/logo-viva.png" alt="VIVAGREL Logo" /></div>
</header>
<section class="allContent">
<div class="button-links-subpg">
<ul class="buttons">
<li><a href="#"><img src="images/graceButton.png" alt="cardiac-button" /></a></li>
<li><a href="#"><img src="images/timiButton.png" alt="cardiac-button" /></a></li>
</ul>
</div>
</section>
<footer id="footer">
<div id="footerBg">
<div class="footer-links">
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="index.html">Back</a></li>
</ul>
</div>
</div>
</footer>
</div>
CSS使用
html {
height:100%!important;
width:100%;
padding:0;
margin:0;
}
body {
margin:0;
padding:0;
width:100%;
height:100%!important;
}
#main {
height:100%;
margin:100%;
margin:0 auto;
padding:0;
background:#fff;
}
.header {
height:145px;
width:100%;
background:url(../images/header-repbg-320.png) left top repeat-x;
display:block;
display:inline-block;
}
.allContent {
width:100%;
border:0 solid green;
height:100%;
min-height:100%;
vertical-align:middle;
display:block;
display:inline-block;
}
#footer {
background:url(../images/footer-repbg-320.png) bottom left repeat-x;
height:90px;
width:100%;
display:block;
display:inline-block;
}
我的问题是,整个页面只消耗了页面高度的一半,在页脚下面留下了一个尴尬的空间,
问题:如何使内容自动适应页面的高度?
答案 0 :(得分:1)
Click for Demo
设置Html和正文标记height:100%;
,您可以提供maring:0;
和
padding :0;
也是正文标记
只需给出包装器div height:100%;
<html>
<body>
<div id="Wrapper">
<div id="header">
header
</div>
<div id="content">
content
</div>
<div id="footer">
footer
</div>
</div>
</body>
</html>
html{
height: 100%;
}
body{
margin: 0;
padding: 0;
height: 100%;
}
#Wrapper{
text-align:center;
margin: auto;
height:100%;
border-left: 1px solid #aaa;
border-right: 1px solid #aaa;
background-color:orange;
}
#header{
height:10%;
background-color:yellow;
}
#content{
height:80%;
background-color:#4072b4;
}
#footer{
height:10%;
background-color:green;
}
没有设置填充到body和html标签背景图像将无法正常工作
答案 1 :(得分:0)
你几乎拥有它。我只修改了前三个选择器的CSS,如下所示:
html {
height: 100%;
}
body {
margin: 0;
padding: 0;
height: 100%;
}
#main {
margin: auto;
min-height: 100%;
background: #ccc;
width: 960px;
border-left: 1px solid #aaa;
border-right: 1px solid #aaa;
}
我只在#main选择器中添加了背景,宽度和边框以显示它的工作情况。它将在没有这些属性的情况下工作,但是边距和最小高度是必要的。您还将注意到!important值是如何不必要的,并且最佳实践应该主要用于解决与继承的冲突。
我希望这会有所帮助。
答案 2 :(得分:0)
#main { height:100%; width:100%; margin:0 auto; padding:0; background:#fff; position:relative; } .header { position: absolute; top:0px; left:0px; right:0px; height:145px; width:100%; background:url(../images/header-repbg-320.png) left top repeat-x; display:block; display:inline-block; } .allContent { position: absolute; top:145px; left:0px; right:0px; bottom:90px; width:100%; border:0 solid green; display:block; display:inline-block; overflow:auto; } #footer { position: absolute; bottom:0px; left:0px; right:0px; background:url(../images/footer-repbg-320.png) bottom left repeat-x; height:90px; width:100%; display:block; display:inline-block; }