如何将最后一项拉伸到右侧,并将滤镜图标对齐到页面的右端?
灰色背景需要拉伸到右边
如何在flex
中垂直对齐图标?
align-items:center;
导致li
的高度崩溃。
body{
background: url(http://i.imgur.com/ilgJJ1Q.gif);
margin: 0;
}
ul{
margin: 0;
padding: 0;
list-style: none;
display: flex;
height: 80px;
}
li{
padding: 10px;
text-align: center;
min-width: 80px;
}
li:last-child{
background: rgba(38, 46, 54, .6);
}
.c2{ background: #a15796; }
.c3{ background: #b48c4d; }
.c4{ background: #3a7d7d; }

<ul>
<li class="c1"><img src="http://i.imgur.com/SRVh4os.png" alt=""></li>
<li class="c2"><img src="http://i.imgur.com/rBM2CYr.png" alt=""></li>
<li class="c3"><img src="http://i.imgur.com/9dFFuH5.png" alt=""></li>
<li class="c4"><img src="http://i.imgur.com/7bQ73kd.png" alt=""></li>
<li class="c1"><img src="http://i.imgur.com/yJ4vKBG.png" alt=""></li>
</ul>
&#13;
https://jsfiddle.net/afelixj/79pybrh9/
实际页面的文字也带有图标
答案 0 :(得分:2)
由于您在ul
上有固定的高度,因此可以使用line-height
进行垂直对齐。此外,您只需将flex: 1
添加到li:last-child
即可占用剩余空间。
line-height
的内容您也可以在每个display: flex
上使用li
,然后将其内容置于align-items: center
和justify-content: center
Fiddle
body{
background: url(http://i.imgur.com/ilgJJ1Q.gif);
margin: 0;
}
ul{
margin: 0;
padding: 0;
list-style: none;
display: flex;
height: 80px;
}
li{
padding: 10px;
text-align: center;
min-width: 80px;
line-height: 80px;
}
li:last-child{
background: rgba(38, 46, 54, .6);
flex: 1;
}
.c2{ background: #a15796; }
.c3{ background: #b48c4d; }
.c4{ background: #3a7d7d; }
<ul>
<li class="c1"><img src="http://i.imgur.com/SRVh4os.png" alt=""></li>
<li class="c2"><img src="http://i.imgur.com/rBM2CYr.png" alt=""></li>
<li class="c3"><img src="http://i.imgur.com/9dFFuH5.png" alt=""></li>
<li class="c4"><img src="http://i.imgur.com/7bQ73kd.png" alt=""></li>
<li class="c1"><img src="http://i.imgur.com/yJ4vKBG.png" alt=""></li>
</ul>