html - 从底部到顶部堆叠 Div

标签 html css scrollbar vertical-alignment alignment

当将 div 附加到具有固定高度的 div 时,子 div 将从上到下出现,并粘在顶部边框处。

┌─────────────────────────┐
│ Child Div 1             │
│ Child Div 2             │
│                         │
│                         │
│                         │
└─────────────────────────┘

我现在正尝试像这样从下到上显示它们(坚持底部边框):

┌─────────────────────────┐
│                         │
│                         │
│                         │
│ Child Div 1             │
│ Child Div 2             │
└─────────────────────────┘
┌─────────────────────────┐
│                         │
│                         │
│ Child Div 1             │
│ Child Div 2             │
│ Child Div 3             │
└─────────────────────────┘
┌───────────────────────┬─┐
│ Child Div 2           │▲│
│ Child Div 3           │ │
│ Child Div 4           │ │
│ Child Div 5           │█│
│ Child Div 6           │▼│
└───────────────────────┴─┘

等等......我希望你明白我的意思。

这是否可以通过 CSS 简单地实现(类似于 vertical-align: bottom)?还是我必须与 JavaScript 一起破解某些东西?

最佳答案

所有答案都错过了您问题的滚动条点。这是一个艰难的过程。如果您只需要它适用于现代浏览器和 IE 8+,您可以使用表格定位、vertical-align:bottommax-height。参见 MDN用于特定的浏览器兼容性。

Demo (垂直对齐)

.wrapper {
  display: table-cell;
  vertical-align: bottom;
  height: 200px;
}
.content {
  max-height: 200px;
  overflow: auto;
}

html

<div class="wrapper">
  <div class="content">
     <div>row 1</div>
     <div>row 2</div>
     <div>row 3</div>  
  </div>
</div>  

除此之外,我认为仅使用 CSS 是不可能的。您可以使用 position:absolute 使元素粘在其容器的底部,但这会使它们脱离流程。因此,它们不会拉伸(stretch)并使容器可滚动。

Demo (绝对位置)

.wrapper {
  position: relative;
  height: 200px;
}
.content {
  position: absolute;
  bottom: 0;
  width: 100%;
}

关于html - 从底部到顶部堆叠 Div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6401869/

相关文章:

jquery - 导航栏和下拉菜单中出现的间隙

html - 导入 W3.css 文件时 Google 字体不起作用

html - 固定容器中可滚动动态内容的滚动问题

javascript - 如何使用指定的键码触发类似 keyup 的事件

javascript - 单击导航栏上的任何内容都会打开弹出窗口

javascript - 动画 GIF 背景只显示一次

javascript - Javascript 中的无限滚动条

html - <table> 具有固定的 <thead> 和可滚动的 <tbody>

javascript - JavaScript中for循环的使用

javascript - 不可见的 recaptcha 以编程方式调用挑战 grecaptcha.getResponse() 在页面刷新时始终为空白