提问者:小点点

CSS溢出-Y:自动不工作,但我不知道为什么


我把overflow-y:auto放在我的主体标记CSS中。

我所期望的是

  • 如果内容超过
    • 已生成滚动
    • 如果向下滚动,可以看到最后的内容

    但在我的代码里,这是行不通的。 滚动生成了,但是出了问题。

    null

    html {
      margin: 0;
      width: 100%;
      height: 100%;
    }
    
    body {
      display: inline-block;
      height: inherit;
      overflow-y: auto;
      padding-left: 10%;
      padding-right: 10%;
    }
    
    .leftnav {
      position: fixed;
      height: 100%;
      width: 8.5%;
      background-color: #d1d4e3;
    }
    
    .content {
      position: fixed;
      left: 20%;
    }
    
    .search {
      display: grid;
      grid-template-columns: 10fr 1fr;
      ;
    }
    
    .realcontent {
      font-size: 200px;
      font-weight: bold;
    }
    <div class='leftnav'>
      ABC
    </div>
    <div class='content'>
      <div class='search'>
        <input type='text' placeholder="TEST1">
        <img src='../static/images/search.png'>
      </div>
      <div class='realcontent'>
        defg<br> defg
        <br> defg
        <br> defg
        <br> defg
        <br>
      </div>
    </div>

    null

    这里有什么问题吗?


共1个答案

匿名用户

溢出不起作用是因为你的位置:固定在内容上。 位置:固定不涉及它的父,所以它就像身体没有任何东西溢出。

您可以将#content设置为position:absolute;

null

html {
  margin: 0;
  width: 100%;
  height: 100%;
}

body {
  display: inline-block;
  height: inherit;
  padding-left: 10%;
  padding-right: 10%;
}

.leftnav {
  position: fixed;
  height: 100%;
  width: 8.5%;
  background-color: #d1d4e3;
}

.content {
  position: absolute;
  left: 20%;
}

.search {
  display: grid;
  grid-template-columns: 10fr 1fr;
  ;
}

.realcontent {
  font-size: 200px;
  font-weight: bold;
}
<div class='leftnav'>
  ABC
</div>
<div class='content'>
  <div class='search'>
    <input type='text' placeholder="TEST1">
    <img src='../static/images/search.png'>
  </div>
  <div class='realcontent'>
    defg<br> defg
    <br> defg
    <br> defg
    <br> defg
    <br>
  </div>
</div>