Как сделать, чтоб панель навигации прилипала при скролле
У меня есть панель навигации, и я хочу сделать чтоб при скролле, они прилипала к верхней границе браузера, подскажите, как можно это сделать? Есть ли для этого какие-то общие правила или всё индивидуально?
Небольшое уточнение, над моей панелью навигации находится шапка, высота которой 150px.
Вот если что код:
.nav {
overflow: hidden;
margin-left: auto;
margin-right: auto;
width: 100%;
background-color: #333;
}
.container__catalog {
width: 222px;
}
.container__nav {
width: 1200px;
margin-left: auto;
margin-right: auto;
display: flex;
}
.container__nav a {
color: #f2f2f2;
padding: 14px 15px;
text-decoration: none;
font-size: 17px;
display: inline-block;
}
.container__nav li {
margin: 0px 5px;
display: inline;
}
.container__nav a:hover {
color: #00F19A;
}
<div class="nav">
<div class="container__nav">
<div class="container__catalog">
<li><a href="/pages/Catalog/index.html">КАТАЛОГ</a></li>
</div>
<div class="rest__nav">
<li><a style="color: #00F19A;" href="/pages/Main/index.html">ГЛАВНАЯ</a></li>
<li><a href="/pages/Info/O Company/index.html">О КОМПАНИИ</a></li>
<li><a href="/pages/Info/Zayzvki/index.html">ЗАЯВКИ НА МАТЕРИАЛ</a></li>
<li><a href="/pages/Info/Contact/index.html">КОНТАКТЫ</a></li>
</div>
</div>
</div>
Буду очень признателен, если подскажите, я если что новичок, так что не кидайтесь тапками.
Ответы (1 шт):
Автор решения: Oliver Patterson
→ Ссылка
Если вы для body зададите display: flex, то вы сможете использовать position: sticky для вашей навигации.
body
{
margin: 0;
display: flex;
flex-direction: column;
}
.nav {
top: 0;
position: sticky;
overflow: hidden;
margin-left: auto;
margin-right: auto;
width: 100%;
background-color: #333;
}
.container__catalog {
width: 222px;
}
.container__nav {
width: 1200px;
margin-left: auto;
margin-right: auto;
display: flex;
}
.container__nav a {
color: #f2f2f2;
padding: 14px 15px;
text-decoration: none;
font-size: 17px;
display: inline-block;
}
.container__nav li {
margin: 0px 5px;
display: inline;
}
.container__nav a:hover {
color: #00F19A;
}
<header style="height: 150px; padding: 0 24px;"><h1>Header</h1></header>
<div class="nav">
<div class="container__nav">
<div class="container__catalog">
<li><a href="/pages/Catalog/index.html">КАТАЛОГ</a></li>
</div>
<div class="rest__nav">
<li><a style="color: #00F19A;" href="/pages/Main/index.html">ГЛАВНАЯ</a></li>
<li><a href="/pages/Info/O Company/index.html">О КОМПАНИИ</a></li>
<li><a href="/pages/Info/Zayzvki/index.html">ЗАЯВКИ НА МАТЕРИАЛ</a></li>
<li><a href="/pages/Info/Contact/index.html">КОНТАКТЫ</a></li>
</div>
</div>
</div>
<div style="height: 100vh; background-color: #DC4242;"></div>
<div style="height: 100vh; background-color: green;"></div>
<div style="height: 100vh; background-color: blue;"></div>
<div style="height: 100vh; background-color: #DC4242;"></div>