コンテンツの高さが表示領域に満たない場合であっても、
フッタを最下部に表示させるため、下記のようなコードを書きました。
HTML
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<title>test</title> 5</head> 6<body> 7 <main> 8 <div class="content"> 9 </div> 10 </main> 11 <footer> 12 </footer> 13</body> 14</html>
CSS
1html, body { 2 margin: 0; 3 padding: 0; 4 width: 100%; 5 height: 100%; 6 background: white; 7} 8 9main { 10 width: 100%; 11 height: 100%; 12 background: whitesmoke; 13} 14 15.content { 16 padding: 60px 0 0 0; 17 min-height: 60px; 18 width: 100%; 19 background: gray; 20} 21 22footer { 23 left: 0; 24 right: 0; 25 bottom: 0; 26 margin: auto; 27 position: absolute; 28 width: 100%; 29 height: 60px; 30 background: orange; 31}
*動作確認⇒https://jsfiddle.net/94ej2a3p/
しかし、<div class="content">~</div>
内には、動的に要素を増やしたいと考えているため、
下記のようにcontent内の要素が増えた場合、フッターの位置がおかしくなってしまいます。
HTML
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<title>test</title> 5</head> 6<body> 7 <main> 8 <div class="content"> 9 <br><br><br><br><br><br><br><br><br><br><br><br> 10 <br><br><br><br><br><br><br><br><br><br><br><br> 11 </div> 12 </main> 13 <footer> 14 </footer> 15</body> 16</html>
要件としては、下記を満たしたいです。
0. 「スクロールが発生しない範囲では、最下部にフッターを表示する」
0. 「スクロールが発生する範囲では、スクロールした最下部にフッターを表示する」
(スクロールに追従して常にフッターを固定表示させるわけではない)
どのように書き換えれば、フッタをページ最下部に表示させ続けることができるか、
ご教示いただきたく。よろしくお願いいたします。
回答5件
あなたの回答
tips
プレビュー