Lock an Element to the Browser Window with Fixed Positioning
The next layout scheme that CSS offers is thefixedposition, which is a type of absolute positioning that locks an element relative to the browser window. Similar to absolute positioning, it's used with the CSS offset properties and also removes the element from the normal flow of the document. Other items no longer "realize" where it is positioned, which may require some layout adjustments elsewhere.
One key difference between thefixedandabsolutepositions is that an element with a fixed position won't move when the user scrolls.
The navigation bar in the code is labeled with an id ofnavbar. Change itspositiontofixed, and offset it 0 pixels from thetopand 0 pixels from theleft. After you have added the code, scroll the preview window to see how the navigation stays in place.
<style>
body {
min-height: 150vh;
}
#navbar {
position: fixed;
top: 0px;
left: 0px;
width: 100%;
background-color: #767676;
}
nav ul {
margin: 0px;
padding: 5px 0px 5px 30px;
}
nav li {
display: inline;
margin-right: 20px;
}
a {
text-decoration: none;
}
</style>
<body>
<header>
<h1>Welcome!</h1>
<nav id="navbar">
<ul>
<li><a href="">Home</a></li>
<li><a href="">Contact</a></li>
</ul>
</nav>
</header>
<p>I shift up when the #navbar is fixed to the browser window.</p>
</body>