<div class="menu">
   <a href="#b1">b1</a>
  <a href="#b2">b2</a>
  <a href="#b3">b3</a>
  <a href="#b4">b4</a>
</div>
<div class="block" id="b1">
  block1
</div>
<div class="block" id="b2">
  block2
</div>
<div class="block" id="b3">
  block3
</div>
<div class="block" id="b4">
  block4
</div>
html{
  scroll-behavior: smooth;
}
:target{
  scroll-margin-top: 40px;
}
.menu{
  position: fixed;
  top:0;
  left:0;
  right: 0;
  text-align: center;
  background: rgba(255,255,255,.8);
  padding: 10px;
  box-shadow: 0 0 5px #333;
}
.block{
  height: 200px;
  border-bottom: 1px solid #aaa;
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.