css - flex - 最后一项右对齐

标签 css flexbox

  1. 如何向右拉伸(stretch)最后一项,并将过滤器图标与页面右端对齐?

    灰色背景需要向右拉伸(stretch)

  2. 如何在 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>

https://jsfiddle.net/afelixj/79pybrh9/

实际页面有文本也有图标

enter image description here

最佳答案

由于您在 ul 上设置了固定高度,您可以使用 line-height 进行垂直对齐。此外,您只需将 flex: 1 添加到 li:last-child 以占用剩余空间。


代替 line-height 你也可以在每个 li 上使用 display: flex 然后用 align- 居中它的内容items: centerjustify-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>

关于css - flex - 最后一项右对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36116630/

相关文章:

javascript - Twitter-Bootstrap Scrollspy

javascript - 转义生成的 HTML,onclick 具有带有 CSS 属性选择器的 jQuery 函数

HTML CSS 菜单 - 无法使子菜单内容全宽

html - 将 flex 元素与容器末端对齐

css - 100% 宽度绝对定位 flexbox 不受 IE 中 CSS Grid 的约束

javascript - 实时搜索(键入时动态过滤结果)- Bootstrap、jQuery

css - 如何让堆叠的div垂直向上生长?

html - CSS - 计算不准确

css - 在 flexbox justify-content 属性上应用过渡

javascript - 使用 css 和 js 的原生导航