答案 0 :(得分:1)
您可以将列表设置为display: flex; flex-direction: column;
,然后将活动元素设置为flex-grow: 1; display: flex; align-items: center;
以使该元素增长以占用所有可用空间,然后将其中心放入其中中间。
* {margin:0;padding:0}
ul {
height: 100vh;
display: flex;
flex-direction: column;
list-style: none;
}
.active {
flex-grow: 1;
display: flex;
align-items: center;
}

<ul>
<li>foo</li>
<li>foo</li>
<li class="active">foo</li>
<li>foo</li>
<li>foo</li>
</ul>
&#13;