[解決済み] 固定DIV要素の下にコンテンツを表示させるには?
質問
私の意図は、ユーザーがスクロールしてもページの上部に残る、ページの上部のメニューを作成することです (Gmail の最近の機能のように、よく使うボタンがユーザーと一緒にスクロールダウンし、ページの上部までスクロールしなくてもメッセージに対する操作を実行できるようにします)。
私はまた、前記メニューの下に表示されるコンテンツを設定したいと思います - 現在はメニューの後ろに表示されています。
私はこのようなものを目指しています。
+________________________+
| MENU | <--- Fixed menu - stays at top even when scrolling.
+¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬+
| CONTENT BEGINS |
| HERE |
| |
| |
| |
| |
| |
| |
+¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬+ <--- Bottom of page.
私は、ユーザーが下にスクロールしても、決して動かず、ページの一番上に留まる上部のメニューを持つことを希望します。 また、ユーザーがページの最上部にいるときは、メイン コンテンツがメニューの下から始まり、ユーザーが下にスクロールするときは、メニューがコンテンツの上を越えても問題ないようにしたいと考えています。
要約します。
- ページ上部に固定位置のメニューを表示し、スクロールしてもユーザーに追従するようにしたい。
-
ユーザーがページの最上部にいるときだけ、コンテンツがメニューの下に表示されなければなりません。
- ユーザーが下にスクロールするとき、メニューはコンテンツと重なってもかまいません。
誰かこれを達成する方法を説明してください。
ありがとうございます。
UPDATEです。
CSSコードです。
#floatingMenu{
clear: both;
position: fixed;
width: 85%;
background-color: #78AB46;
top: 5px;
}
HTMLのコードです。
<div id="floatingMenu">
<a href="http://www.google.com">Test 1</a>
<a href="http://www.google.com">Test 2</a>
<a href="http://www.google.com">Test 3</a>
</div>
現時点では、メニューを
container
div
. しかし、コンテンツはメニューの後ろに回ります。 私は
clear: both;
を設定しましたが、これは役に立ちませんでした。
どのように解決するのですか?
あなたが必要とするものは、余分なスペーシングのdivです(私があなたの質問を理解する限り)。
この div はメニューとコンテンツの間に配置され、パディングを含めてメニュー div と同じ高さになります。
HTML
<div id="fixed-menu">
Navigation options or whatever.
</div>
<div class="spacer">
</div>
<div id="content">
Content.
</div>
CSS
#fixed-menu
{
position: fixed;
width: 100%;
height: 75px;
background-color: #f00;
padding: 10px;
}
.spacer
{
width: 100%;
height: 95px;
}
私の例を参照してください。 はこちら .
これは、nav div が占めるはずのスペースを相殺することで機能しますが、nav div には
position: fixed;
になっているため、ドキュメントフローから外れています。
この効果を得るために好ましい方法は
margin-top: 95px;/*your nav height*/
を使用することです。
関連
-
[CSSチュートリアル]cssのbackgroundとborderタグの例 詳細
-
[CSSチュートリアル】CSSで実現するイメージマッピングメソッド
-
[CSSチュートリアル】タイトルを上部に配置するスティッキーレイアウトを実現するためのCSS
-
[css3]スクロールバー美化効果を実現するcss3サンプルコード
-
[解決済み】divの高さを画面の残りスペースで埋めるようにする
-
[解決済み] 要素を水平方向にセンタリングする方法
-
[解決済み] 絶対位置指定された要素をdivの中央に配置するにはどうしたらよいですか?
-
[解決済み] 一度スクロールしたdivを画面の一番上に張り付けるにはどうしたらいいですか?
-
[解決済み】CSSを使用して、すべてのブラウザでdiv要素を垂直方向に中央に配置するにはどうすればよいですか?
-
[解決済み】スクロールバーがあってもdivが常にページの一番下に表示されるようにする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
cssで背景色の半透明化を実現する2つの方法
-
[CSSチュートリアル】CSSのトリッキーなグラデーションで高度な背景光アニメーションの感覚を実現
-
[CSSチュートリアル】Pure CSSカスタム複数行抜け問題(原理から実装まで)
-
[css3]css3におけるtransformプロパティの4つの機能
-
[CSSチュートリアル】CSSを解析して、画像のテーマカラー機能を抽出する(コツ)
-
[CSSチュートリアル】背景-位置の割合の原則の説明
-
[css3]CSS3のダイヤモンドパズルは、divの背景画像を回転させない機能だけを実現するために
-
[CSSチュートリアル】空間均等性の問題を解決する2つの方法
-
[css3]赤いパケットのジッター効果を実現するCSS3
-
[CSSチュートリアル】CSSで実現できるのなら、わざわざJavaScriptを使う必要はない