固定div内的溢出div

Ath*_*lus 1 html css

几乎我已经拥有了我想要的东西.在overflow-y我希望能够通过滚动,如果它熄灭在div#滚动屏幕内,但一旦溢出是有它不会一路向下滚动到选项8离开它不可见.为什么会如此,我该如何解决?

* {
  margin: 0;
  padding: 0;
}
#fixed {
  width: 300px;
  height: 100%;
  max-height: 345px;
  position: fixed;
  background: #333;
  border: 2px solid #333;
}
#menu {
  background: pink;
  line-height: 25px;
  padding-left: 20px;
}
#scrollable {
  position: absolute;
  height: 100%;
  width: 100%;
  overflow-y: auto;
}

ul {
  list-style: none;
}
ul li a {
  color: white;
  line-height: 40px;
  padding-left: 20px;
  display: block;
}
ul li a:hover {
  background: blue;
}
Run Code Online (Sandbox Code Playgroud)
<div id="fixed">
  <div id="menu">
    Hello
  </div>
  <div id="scrollable">
    <ul>
      <li><a>Option 1</a></li>
      <li><a>Option 2</a></li>
      <li><a>Option 3</a></li>
      <li><a>Option 4</a></li>
      <li><a>Option 5</a></li>
      <li><a>Option 6</a></li>
      <li><a>Option 7</a></li>
      <li><a>Option 8</a></li>
    </ul>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/3hm1rxut/2/

Man*_*tel 8

你需要计算#scrollablediv 的高度,calc()因为在这个菜单中也占用了一些空间,这样就#scrollable不会得到div的100%高度.

height: calc(100% - 30px);

* {
  margin: 0;
  padding: 0;
}
#fixed {
  width: 300px;
  height: 100%;
  max-height: 345px;
  position: fixed;
  background: #333;
  border: 2px solid #333;
}
#menu {
  background: pink;
  line-height: 25px;
  padding-left: 20px;
}
#scrollable {
  position: absolute;
  height: calc(100% - 30px);
  width: 100%;
  overflow-y: auto;
}

ul {
  list-style: none;
}
ul li a {
  color: white;
  line-height: 40px;
  padding-left: 20px;
  display: block;
}
ul li a:hover {
  background: blue;
}
Run Code Online (Sandbox Code Playgroud)
<div id="fixed">
  <div id="menu">
    Hello
  </div>
  <div id="scrollable">
    <ul>
      <li><a>Option 1</a></li>
      <li><a>Option 2</a></li>
      <li><a>Option 3</a></li>
      <li><a>Option 4</a></li>
      <li><a>Option 5</a></li>
      <li><a>Option 6</a></li>
      <li><a>Option 7</a></li>
      <li><a>Option 8</a></li>
    </ul>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)