Result Size: 300 x 150
x
 
<!DOCTYPE html>
<html>
<head>
<style>
body {
  margin: 0;
}
ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 25%;
  background-color: #f1f1f1;
  position: fixed;
  height: 100%;
  overflow: auto;
}
li a {
  display: block;
  color: #000;
  padding: 8px 16px;
  text-decoration: none;
}
li a.active {
  background-color: #4CAF50;
  color: white;
}
li a:hover:not(.active) {
  background-color: #555;
  color: white;
}
</style>
</head>
<body>
<ul>
  <li><a class="active" href="#home">Главная</a></li>
  <li><a href="#news">Новости</a></li>
  <li><a href="#contact">Контакты</a></li>
  <li><a href="#about">Про нас</a></li>
</ul>
<div style="margin-left:25%;padding:1px 16px;height:1000px;">
  <h2>Фиксировання боковая навигация на всю высоту</h2>
  <h3>Попробуйте прокрутить эту область и посмотрите, как боковая навигация прилипает к странице</h3>
  <p>Обратите внимание, что этот элемент div имеет левое поле 25%. Это связано с тем, что для боковой навигации задана ширина 25%. Если вы удалите поле, боковая навигация будет накладываться / располагаться поверх этого div.</p>
  <p>Также обратите внимание, что мы установили overflow: auto на sidenav. Это добавит полосу прокрутки, когда боковая навигация будет слишком длинной (например, если внутри неё более 50 ссылок).</p>
  <p>Какой-то текст..</p>
  <p>Какой-то текст..</p>
  <p>Какой-то текст..</p>
  <p>Какой-то текст..</p>
  <p>Какой-то текст..</p>
  <p>Какой-то текст..</p>
  <p>Какой-то текст..</p>
</div>
</body>
</html>