私の html ページには、上部にタイトルとメニューがあり、メニューの下にコンテンツ セクションがあり、下部にフッターがあります。フッターは、コンテンツのサイズに関係なく、常にウィンドウの下部にある必要があります (コンテンツがウィンドウよりも高い場合を除きます。この場合、フッターはコンテンツの下にある必要があります)。これを実装するマークアップと CSS ルールがあります (以下)。
しかし、コンテンツとフッターの上に背景画像も表示する必要があります。つまり、画像は画面全体をカバーする必要がありますが、タイトル/メニュー領域はカバーする必要があります。これを達成する方法がわかりません。以下のコード (およびhttp://jsfiddle.net/EGj54/の jsfiddle ) では、背景をページ全体に添付しましたが、コンテンツとフッターのみに表示したいと考えています。
誰か助けてくれませんか?
<div id="main">
<div id="navbar">
<div id="caption"><span>Test</span></div>
<ul id="sections">
<li><span>current</span></li>
<li><a href="">next</a></li>
</ul>
</div>
<div id="content">content</div>
<div class="push"></div>
</div>
<div id="footer">footer</div>
* {
margin: 0;
}
html, body {
height: 100%;
}
ul {
list-style-type: none;
}
ul li {
display: inline;
}
#caption {
font-weight: bold;
}
#footer, .push {
color: white;
height: 25px;
}
#sections {
background-color: #aaaaaa;
}
#main {
height: auto !important;
margin: 0 auto -25px; /* bottom margin is negative value of #footer height */
min-height: 100%;
}
#main {
background-image: url('http://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Clouds_over_the_Atlantic_Ocean.jpg/800px-Clouds_over_the_Atlantic_Ocean.jpg');
background-size: cover;
}