Sie könnten versuchen, es in JQuery wie folgt aus:
HTML:
<div id="wrapper">
<header>
<h1>Floater Navigation</h1>
</header>
<nav>
<p>Navigation Content</p>
</nav>
<div id="content">
<p>Lorem Ipsum.</p>
</div>
</div>
CSS:
#wrapper {
width:940px;
margin: 0 auto;
}
header {
text-align:center;
padding:70px 0;
}
nav {
background: #000000;
height: 60px;
width: 960px;
margin-left: -10px;
line-height:50px;
position: relative;
}
#content {
background: #fff;
height: 1500px; /* presetting the height */
box-shadow: 0 0 5px rgba(0,0,0,0.3);
}
.fixed {
position:fixed;
}
JQuery:
$(document).ready(function() {
//Calculate the height of <header>
//Use outerHeight() instead of height() if have padding
var aboveHeight = $('header').outerHeight();
//when scroll
$(window).scroll(function(){
//if scrolled down more than the header’s height
if ($(window).scrollTop() > aboveHeight){
// if yes, add “fixed” class to the <nav>
// add padding top to the #content
(value is same as the height of the nav)
$('nav').addClass('fixed').css('top','0').next()
.css('padding-top','60px');
} else {
// when scroll up or less than aboveHeight,
remove the “fixed” class, and the padding-top
$('nav').removeClass('fixed').next()
.css('padding-top','0');
}
});
});
Quelle: http://www.jay-han.com/2011/11/10/simple-smart-sticky-navigation-bar-with-jquery/
Sie verwenden javascript/jQuery, um damit umzugehen - Sie können sehen, dass die Klasse "container large" einen Stil hat, der wechselt, wenn er den oberen Rand der Seite erreicht. Wenn es oben ankommt, wird es fixiert, ansonsten ist es relativ --- Sind Sie bereit, Jquery zu benutzen? – ntgCleaner
Ich bin bereit, jQuery zu verwenden, obwohl ich es nicht wirklich programmiert habe - ich bin ziemlich gut mit CSS und HTML? Wird es einfach genug sein? Wie würde der Code aussehen? –
Die Grundvoraussetzung ist dies: Holen Sie sich die Höhe des Headers (über dem Nav) erhalten Sie die Position des Fensters (das gesamte Dokument). Wenn die Position des Fensters größer als die Position der Kopfhöhe ist, geben Sie dem Nav einen neuen Stil der Position: fixed. Leider habe ich nicht genug Zeit, um es tatsächlich zu schreiben. – ntgCleaner