Webの最も高いゾーンにメニューがありますが、一番上にはありません。ユーザーがページをスクロールしたときにページが一番上に表示されたままになるようにしたいのですが、代わりにページが消える場合に限ります。タイトルが表示されている場合は、その下の、見かけ上の静的な位置にメニューが必要です。
JavaScriptなしで、cssだけで可能ですか?ウェブサイトで見ていますが、どこにあるのか覚えていません。
よろしくお願いします(そして私の醜い英語でごめんなさい!);)
Webの最も高いゾーンにメニューがありますが、一番上にはありません。ユーザーがページをスクロールしたときにページが一番上に表示されたままになるようにしたいのですが、代わりにページが消える場合に限ります。タイトルが表示されている場合は、その下の、見かけ上の静的な位置にメニューが必要です。
JavaScriptなしで、cssだけで可能ですか?ウェブサイトで見ていますが、どこにあるのか覚えていません。
よろしくお願いします(そして私の醜い英語でごめんなさい!);)
これがあなたが探しているものだと思います:https ://jsfiddle.net/QuVkV/2/
ここでhtml構造:
<div id='wrapper'>
<div id='upper'>This is upper content</div>
<div id='position-saver'>
<div id='bar'>This is the menu bar</div>
</div>
<div id='lower'>This is some content lower than the menu bar</div>
</div>
これはcssです:
#wrapper {
width: 100%;
height: 2000px;
}
#upper {
width: 100%;
height: 100px;
}
#position-saver {
height: 50px;
width: 100%;
}
#bar {
position: static;
height : 50px;
width: 100%;
}
そしてここにjavascriptがあります:
$(document).on('scroll', function(){
if ($('#bar')[0].offsetTop < $(document).scrollTop()){
$("#bar").css({position: "fixed", top:0});
}
if ($(document).scrollTop() < $("#position-saver")[0].offsetTop){
$("#bar").css({position: "static", top: 0});
}
});
よくわかりませんが、多くのサイトでこの種のことを見てきました。9gag.comに1つ
position
とにかく、 cssのプロパティを使用できます。
このように:JSFiddle
#scroll-me{
width:100%;
height:100px;
background:#333;
position: fixed;
top:15px;
}
scroll-me divのposition:fixed
withtop:15px
は、常に15px上になります