[英]Customising space between flex items
我对justify-content: space-between
给出的结果几乎没有问题,我只想在最后两个弹性项目之间有更少的空间。
我试图calc()
最后一项的负左边距,但它不能完全工作:在我的全屏浏览器上,最后两项之间的间隔超过了计算的假定1em
,然后在缩小 window 的同时,他们越来越近,直到他们接触。 随着进一步缩小,最后一个项目反弹了。
.belt { display: flex; justify-content: space-between; padding: 1em; }.belt > * { min-width: 10em; border: solid orange; }.belt > button { margin-left: calc((42em - 100%) / 3 + 1em); }
<div class='belt'> <a href='/'>LOGO</a> <div>[_______________|Q]</div> <a href='/signin'>Sign in</a> <button>Cart</button> </div>
我做的计算:
min-width: 10em;
这也可以作为width
,因为项目的内容小于10em
100%
减去四个item的40em
,减去容器的两个1em
padding,除以3
(四个item之间的空格)--->使用justify-content: space-between
时应该或多或少的item之间的空格justify-content: space-between
1em
这种方法有什么问题,什么是在最后两个项目之间实现1em
空间的好方法?
PS:我开始知道这个差距属性,不幸的是它不会覆盖 99% 的 Safari 用户,所以现在不是一个选项。
我认为您可以简单地在第二个项目上使用margin:auto
并在最后一个项目上使用1em
边距:
.belt { display: flex; justify-content: space-between; padding: 1em; }.belt > * { min-width: 10em; border: solid orange; }.belt > button { margin-left: 1em; }.belt > div { margin:0 auto; }
<div class='belt'> <a href='/'>LOGO</a> <div>[_______________|Q]</div> <a href='/signin'>Sign in</a> <button>Cart</button> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.