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包装).
我知道上面的内容可以通过框大小来解决,但我的主要问题是我想要元素之间的间距,但是第一个和最后一个元素排列在父元素的左侧和右侧.
怎么能实现这一目标?
例如.
|li|spacing|li|spacing|li|spacing|li|
解决方法
检查一下 – 我使用calc来调整flex-basis以允许你可以为ul分配的自定义边距(使用的justify-content:space-between用于分配该边距).
ul { list-style-type: none; display: flex; flex-wrap: wrap; justify-content: space-between; background: gold; margin: 10px; padding: 0; height: 100px; } li { flex-basis: calc(25% - 20px); background: grey; }
<ul> <li></li> <li></li> <li></li> <li></li> </ul>
请告诉我您对此的反馈.谢谢!