ウェブページにフッターを正しく配置するのを手伝ってくれませんか?
私は次のレイアウトを持っています:
これは、フッターの動作を次のようにします。
- コンテンツが空の場合、フッターはページの下部に配置する必要があります。
- コンテンツがページの高さを超える場合は、フッターを「押し下げる」必要があります。
ここに私のHTMLがあります:
<html>
<head>
<title>@ViewBag.Title</title>
</head>
<body>
/* This is outside of the container as I want the background
to stretch across the top of the webpage */
<div id="menu">
<div>
/* This contains an unordered list which is restyled as a series of links.
The reason it is contained in inside the menu div is because I want this
content to be centred. /*
</div>
</div>
<div id="page-container">
<div id="header">
<h1>Website title</h1>
</div>
/* This is floated to the left of the content area. */
<div id="content">
@RenderBody()
</div>
/* This is floated to the right of the content area. */
<div id="sidebar">
@RenderSection("sidebar", false)
</div>
</div>
<div id="footer">
My footer content goes here.
</div>
次の点に注意してください:
- コンテンツとヘッダーは、「page-container」と呼ばれる「Div」に含まれています。
- コンテンツは、コンテンツ領域の左右に浮いている 2 つの Div で構成されています。
- メニューは page-container div の外にあります。これは、メニューの背景をページの上部に広げたいためです (Stackoverflow メニューのように)。
Stackoverflow に同様の質問が多数あり、Google 検索で大量の結果が返されることは承知しています。
私が見つけたサンプルを適応させようとしているときに気付いたのは、それらが通常、私のものと一致しない非常に特殊な html 構造 (例: フッター以外のすべてがコンテナー内にある) に依存していることです。何を試してもうまくいきません (たとえば、コンテンツが空の場合、フッターが画面の境界の下に配置されたり、コンテンツがページを超えた場合にフッターが下に移動したりしません)。
アップデート
ページの下部にフッターを固定することはできますが、コンテンツが展開されたときにフッターが押し下げられません。これは、コンテンツが 2 つのフローティング要素で構成されているためだと思います。
ほとんどの人は、Google で見つけたチュートリアルを教えてくれているようです (既に述べたように、私はこれらのほとんどを読んでおり、既に適応しようとしています)。
これを機能させるには、HTML を再構築する必要があるという結論に達しました。私の質問のポイントは、既に持っている HTML でこれを行うにはどうすればよいかということでした。懸念事項の分離については以上です。