我正在尝试在我的网站上创建一个过滤器部分,内容都是动态生成的(所以我不能向它添加额外的父级),我们的样式指南使用弹性项目创建它们。我想在很大程度上保留这个功能。
我希望我的 3 个弹性项目有一个 max-width
并向左浮动,让我的非弹性项目向右浮动,在设置为最大宽度 1080px
的整体容器中像这样:
Option 1 Option 2 Option 3 Non-flex Item
我已尝试设置 flex-align 值并遵循 此答案,但这似乎对此不起作用。
截至目前,这是我正在使用的代码:
<ul class="container">
<li class="child">One</li>
<li class="child">Three</li>
<li class="child">Three</li>
<div class="non-flex">
I'm not a flex item
</div>
</ul>
.container {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
position: relative;
max-width: 1080px;
margin: 0 auto;
padding: 0 20px;
box-sizing: content-box;
}
.child {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
position: relative;
}
我还制作了一个 小提琴 供大家玩耍。
原文由 knocked loose 发布,翻译遵循 CC BY-SA 4.0 许可协议
I would apply a
width
ormin-width
to the.child
items (or left/right padding that creates the distance between them) andmargin-left: auto
到最后一项,将其向右移动,独立于其他项:https://jsfiddle.net/6vwny6bz/2/