代码之家  ›  专栏  ›  技术社区  ›  bigmugcup

溢出:隐藏和溢出-y:在ul上滚动不工作;

  •  4
  • bigmugcup  · 技术社区  · 7 年前

    我有下面的html和css可以向下滚动列表,我不明白为什么 overflow:hidden overflow-y: scroll 不在UL上工作。

    我试过各种方法,比如在 .interaction-box 和ul,并使交互框成为id,但它们不起作用。样式在外部div上确实起作用,但是标题会随着列表一起滚动。

    我错过了什么?

    .interaction-box {
      width: 300px;
      height: 360px;
      border: 1px solid #ccc;
      margin: 10px;
      padding: 5px;
    }
    .interaction-box ul {
      padding: 0px;
      margin: 0px;
      text-align: left;
      overflow: hidden;
      overflow-y: scroll;
    }
    
    .search-result {
      list-style-type: none;
      font-size: 17px;
      padding: 5px;
    }
    <div className="interaction-box">
       <div className="interaction-title">Top Search Results
       </div>
       <ul>
         <li className="search-result">Result</li>
         <li className="search-result">Result</li>
         <li className="search-result">Result</li>
         <li className="search-result">Result</li>
       </ul>
    </div>
    2 回复  |  直到 7 年前
        1
  •  5
  •   Jos van Weesel    7 年前

    你想把你的 ul 使元素开始可滚动时具有引用的高度。如果它没有高度,那么它将永远持续下去,滚动条将永远不会被应用。

    .interaction-box {
      width: 300px;
      height: 360px;
      border: 1px solid #ccc;
      margin: 10px;
      padding: 5px;
    }
    
    .interaction-box ul {
      height: 200px;
      padding: 0px;
      margin: 0px;
      text-align: left;
      overflow: hidden;
      overflow-y: scroll;
    }
    
    .search-result {
      list-style-type: none;
      font-size: 17px;
      padding: 5px;
    }
    <div class="interaction-box">
      <div class="interaction-title">Top Search Results</div>
      <ul>
        <li class="search-result">Result</li>
        <li class="search-result">Result</li>
        <li class="search-result">Result</li>
        <li class="search-result">Result</li>
        <li class="search-result">Result</li>
        <li class="search-result">Result</li>
        <li class="search-result">Result</li>
        <li class="search-result">Result</li>
        <li class="search-result">Result</li>
      </ul>
    </div>
        2
  •  0
  •   billy.farroll    7 年前

    这样地:

    <div class="interaction-box">
       <div class="interaction-title">Top Search Results
       </div>
       <ul>
         <li class="search-result">Result</li>
         <li class="search-result">Result</li>
         <li class="search-result">Result</li>
         <li class="search-result">Result</li>
         <li class="search-result">Result</li>
         <li class="search-result">Result</li>
         <li class="search-result">Result</li>
         <li class="search-result">Result</li>
       </ul>
    </div>
    

    CSS:

    .interaction-box {
      width: 300px;
      height: 360px;
      border: 1px solid #ccc;
      margin: 10px;
      padding: 5px;
    }
    
    .interaction-box ul {
      padding: 0px;
      margin: 0px;
      text-align: left;
      overflow: hidden;
      overflow-y: scroll;
    }
    
    .search-result {
      list-style-type: none;
      font-size: 17px;
      padding: 5px;
    }