我有一个页面布局,其中我有一个fixed
标题,可以在页面底部放置任何高度和页脚。我正在寻找一个css解决方案,以便内容div填充剩余的空间(垂直)。在下面的jsfiddle中,我试图这样做,但正如你所看到的,内容是在页脚后面。
HTML:
<main>
<header>
<ol>
<li>bar</li>
<li>foo</li>
</ol>
</header>
<section>
<div class="content"><div>
</section>
<footer></footer>
</main>
CSS:
header {
background-color: #abc;
z-index: 1000;
position: fixed;
top: 0px;
right: 0px;
left: 0px;
}
html, body, main, section {
height: 100%;
display: block;
}
.content{
background-color: #000;
height: 100%;
}
footer {
background-color: #def;
bottom: 0;
display: block;
height: 54px;
position: absolute;
width: 100%;
}
纯css(3)有可能吗?
答案 0 :(得分:1)
这是一个丑陋的解决方案,但是如果你将内容div的margin-top设置为-54px并在其中添加一个带有padding-top:54px的div,它会按预期工作。
HTML:
<div class="content"><div class="contentwrapper"></div><div>
CSS:
.contentwrapper {
padding-top:54px;
}
.content{
background-color: #000;
height: 100%;
margin-top:-54px;
}
答案 1 :(得分:1)
这是一种不同的方法:
HTML:
<header>
<ol>
<li>bar</li>
<li>foo</li>
</ol>
</header>
<main>
<section>
<div class="content"></div>
</section>
<div class="push"></div>
</main>
<footer></footer>
CSS:
html, body {
height: 100%;
min-height: 100%;
margin: 0;
padding: 0;
border: 0;
}
header {
background-color: #abc;
z-index: 1000;
position: fixed;
top: 0;
right: 0;
left: 0;
}
main {
min-height: 100%;
height: auto !important;
margin-bottom: -54px;
}
main > section{
padding-top: 72px;
}
.content {
background-color: #000;
}
.push {
height: 54px;
}
footer {
background-color: #def;
height: 54px;
}
现在,只要内容没有填充孔页面,页脚就会始终位于底部。在那种情况下,&#34;推&#34;元素提供了足够的空间来拒绝页脚和内容的重叠。
您的内容div现在通过填充位于页脚下方。由于缺少内容,高度实际为0。在我的方法中,内容div总是适合插入的内容。
请记住 a)为了响应目的,您必须知道标题高度并使用媒体查询调整节的填充 b)页脚相同。调整推动元件的高度并调整边距底值。
答案 2 :(得分:0)
尝试将content
定位在页脚正上方
bottom: <footer-height>;
position: absolute;
答案 3 :(得分:0)
我使用此tutorial制作了粘性页脚。我认为使用起来既方便又方便。
CSS代码
html {
position: relative;
min-height: 100%;
}
body {
margin: 0 0 100px; /* bottom = footer height */
}
footer {
position: absolute;
left: 0;
bottom: 0;
height: 100px;
width: 100%;
}
HTML CODE
<!DOCTYPE html>
<head>
<title></title>
</head>
<body>
<nav></nav>
<article>Lorem ipsum...</article>
<footer></footer>
</body>
</html>
<强> DEMO URL 强>