javascript - 容器内的行在顶部被遮挡

标签 javascript html css

我遇到了一个问题,如果我将行添加到溢出容器,顶部的一些行会被遮盖。我的实际应用程序比这复杂一点,因为它还在行内添加内容,如果您选择了“错误”选项,那么顶行将完全隐藏。

是否可以将所有行都放入容器中,以便当您一直滚动到顶部时,您始终可以看到最上面的行?目前,根据您拥有的行数,部分或整个顶行被隐藏。

JsFiddle link .

也在这里编码:

window.onload = function() {
  let addBtn = document.getElementById("addRow");
  addBtn.addEventListener('click', function() {
    let wrapper = document.getElementById("wrapper");
    let newRow = "<div class='row'></div>"
    wrapper.innerHTML += newRow;
  })
};
body {
  display: flex;
  justify-content: center;
}

#wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 40vh;
  width: 1000px;
  background-color: yellow;
  overflow-y: auto;
}

.row {
  display: block;
  background-color: aliceblue;
  min-height: 50px;
  margin-top: 10px;
  width: 80%;
}
<!DOCTYPE html>
<html>

  <head>
    <title>Title of the document</title>
  </head>

  <body>

    <div id="wrapper">

      <div class="row"></div>
      <div class="row"></div>
      <div class="row"></div>
      <div class="row"></div>
      <div class="row"></div>
      <div class="row"></div>
      <div class="row"></div>
      <div class="row"></div>
      <div class="row"></div>

    </div>

    <div>
      <button id="addRow">Add</button>
    </div>

  </body>

</html>

最佳答案

#wrapper 中移除 align-item: center

问题是此属性将所有子行对齐在父级 #wrapper 的中间。

因此,如果您计算行数,则只有应该出现的行数的一半。

尝试检查它,一半行在#wrapper 之上,无法查看。

您还可以对 #wrapper 进行一些填充,以便在最后一行下方添加一些颜色。

检查这个Fiddle

关于javascript - 容器内的行在顶部被遮挡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56803910/

相关文章:

javascript - 如何使用 webgl 和 glMatrix 围绕世界轴旋转对象

javascript - 有没有办法在 JavaScript 中对正则表达式使用非贪婪匹配?

java - 包含在 gwt.xml 中时如何跳过加载外部 JavaScript 库?

javascript - 没有 JSON 根的 Ember.js REST 适配器

javascript - 滚动时添加带有动画的图像

css - 在 <label> 中使用 <div> 是否有效?

html - @media 宽度组件

javascript - 带有 JSON 数据的动态 Javascript 表

php - 使固定宽度 <div> 的序列按四行显示

html - 使用 CSS 选择可变位置 NTH 子节点