当我将窗口调整为较小的分辨率时,我希望最后一个元素居中。我知道我可以通过将父justify-content
参数设置为space-around
或center
来实现这一点,但必须将其设置为:space-between
。
ul {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
background: rgba(255, 0, 0, 0.3);
padding: 0;
}
li {
list-style-type: none;
display: inline-block;
min-width: 100px;
height: 100px;
background: red;
margin: 10px;
}

<ul>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
&#13;
答案 0 :(得分:1)
答案 1 :(得分:1)
很遗憾,flexbox
无法解决您的问题。但我有一个CSS黑客来解决这个问题。定位media-query
中的最后一个元素。我在下面使用了自定义断点。
ul {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
background: rgba(255, 0, 0, 0.3);
padding: 0;
}
li {
list-style-type: none;
display: inline-block;
min-width: 100px;
height: 100px;
background: red;
margin: 10px;
}
@media (min-width: 376px) and (max-width: 494px) {
li:last-child {
margin: 10px auto;
}
}
&#13;
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
&#13;
答案 2 :(得分:0)
这是不可能的。 space-between
definition说
如果[...]该行只有single flex项,则此值 与'flex-start'相同。
唯一的方法是手动进行对齐,例如媒体查询和自动边距。但是布局根本不会灵活。