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 - JQuery日期格式问题

javascript - 我没有使用 jquery 获取月/年 slider

javascript - 如何在 vue.js 中的项目循环内切换类

c# - 如何通过 HtmlDocument.InvokeScript 将对象作为参数传递给 javascript

html - 为什么当通过链接加载页面时我的字体呈现不同?

html - 调整浏览器大小时防止 float 的右侧导航栏移动

PHP登录Mysqli

javascript - 如何通过 jQuery 隐藏两个特定 id 之间的内容?

html - 文本溢出容器并失去其原始格式

c# - 无法单击列表项内的标签