在容器的底部(而不是顶部)堆叠元素

Ale*_*ult 5 html css css3 flexbox

我有一个<ul>固定高度,我需要在<li>里面堆叠在底部(而不是顶部).

我试过vertical-align: bottom了,<ul>但这并没有改变任何东西.

内容li有可能溢出,如果有,我需要滚动条才能工作.

ul {
  border: 1px solid red;
  height: 250px;
  vertical-align: bottom;
}
li {}
Run Code Online (Sandbox Code Playgroud)
<ul>
  <li>a</li>
  <li>b</li>
  <li>c</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

JsFiddle:https://jsfiddle.net/hbcnvk4s/

谢谢 !

Mic*_*l_B 6

试试CSS flexbox:

ul {
  display: flex;           /* establish flex container */
  flex-direction: column;  /* align children vertically */
  border: 1px solid red;
  height: 250px;
}

li:first-child {
  margin-top: auto;        /* shift top li, and all li's beneath, to the bottom */  
}
Run Code Online (Sandbox Code Playgroud)
<ul>
  <li>a</li>
  <li>b</li>
  <li>c</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

Flex auto边距用于将lis 对齐到底部.

虽然justify-content: flex-end也会将项目对齐到底部,但当项目溢出容器时,滚动机制不起作用(演示 | 错误报告).

顺便说一下,如果justify-contentflex-start或者center(演示),滚动就会起作用.