[英]Stack elements at the bottom (instead of the top) of the container
我有一个具有固定高度的<ul>
,我需要里面的<li>
堆叠在底部(而不是顶部)。
我在<ul>
上尝试了vertical-align: bottom
,但这并没有改变任何东西。
内容li
有可能溢出,如果他们这样做,我需要滚动条才能工作。
ul { border: 1px solid red; height: 250px; vertical-align: bottom; } li {}
<ul> <li>a</li> <li>b</li> <li>c</li> </ul>
JsFiddle: https ://jsfiddle.net/hbcnvk4s/
谢谢 !
试试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 */ }
<ul> <li>a</li> <li>b</li> <li>c</li> </ul>
Flex auto
边距用于将li
s对齐到底部。
虽然justify-content: flex-end
也会将项目对齐到底部,但当项目溢出容器时,滚动机制不起作用( demo | bug report )。
顺便说一下,如果justify-content
是flex-start
或center
( demo ),则滚动会起作用。
你可以用position: absolute; bottom: 0
position: absolute; bottom: 0
。
https://jsfiddle.net/hbcnvk4s/1/
<div>
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
</div>
div {
border: 1px solid red;
height: 250px;
position: relative;
}
ul {
bottom: 0;
position: absolute
}
vertical-align
不那么容易
你也可以使用flex-direction:column-reverse。
ul { display: flex; /* establish flex container */ flex-direction: column-reverse; /* align children vertically AT BOTTOM */ border: 1px solid red; height: 250px; }
<ul> <li>item</li> <li>item</li> <li>item</li> </ul>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.