JSFiddle
我有一个用flex显示的列表:
<ul>
<li></li>
....
ul{
list-style-type: none;
display: flex;
flex-wrap: wrap;
background: gold;
}
li{
flex-basis: 25%;
background:grey;
}
字符串
现在我想在li元素之间留一些空间,添加边距或填充将元素推到下一行(当我有4个以上的元素时,我想使用flex wrap)。
我知道上面的问题可以通过调整框大小来解决,但我的主要问题是,我希望元素之间有间距,但第一个和最后一个元素要排列到父元素的左侧和右侧。
如何做到这一点?
eg.
|li|spacing|li|spacing|li|spacing|li|
型
3条答案
按热度按时间9njqaruj1#
看看这个-我使用
calc
来调整flex-basis
,以允许您可以为ul
分发自定义margin
(使用justify-content: space-between
来分发该保证金)。个字符
让我知道你的反馈。谢谢!
2ledvvac2#
由于这是我想添加的第一个Google结果,因此可以使用新的“gap”属性来完成:
字符串
yacmzcpb3#
一个更简单的解决方案(在通用用例中):
假设你有如下两个元素:
你可以使用下面的css来获得相同的元素间距。
范例:
个字符
这样就可以在外部边界以及元素之间(在x或y方向上)实现相同的间距,而无需任何额外的计算。虽然
justify-content: space-between
或justify-content: space-around
可以具有类似的效果,但它也可以使所有内容居中。React Example(with Material UI)
型