要设置flexbox项目之间的最小距离,我使用margin: 0 5px on .item和margin: 0 -5px on container。对我来说,这似乎是一种hack,但我找不到更好的方法来做到这一点。
#箱{
显示:flex;
宽度:100 px;
Margin: 0 -5px;
}
.item {
背景:灰色;
宽度:50 px;
高度:50 px;
边距:0 5px;
}
< div id =“盒子”>
< div class = '物品' > < / div >
< div class = '物品' > < / div >
< div class = '物品' > < / div >
< div class = '物品' > < / div >
< / div >
你可以利用新的房产缺口。我复制粘贴了我在本文中找到的解释,以及更多的信息
CSS的网格布局有差距(以前的网格差距)有一段时间了。通过指定包含元素的内部间距而不是子元素周围的间距,gap解决了许多常见的布局问题。例如,使用gap,你不必担心子元素的边距会在包含元素的边缘造成不必要的空白:
不幸的是,目前只有FireFox支持flex布局中的gap。
@use postcss-preset-env {
阶段:0;
浏览器:最近2个版本
}
节{
宽度:30大众;
显示:网格;
差距:1快速眼动;
Grid-template-columns: repeat(auto-fit, minmax(12ch, 1fr));
& (flex) {
显示:flex;
flex-wrap:包装;
}
margin-bottom: 3快速眼动;
}
.tag {
颜色:白色;
背景:hsl(265 100% 47%);
填充:.5rem 1rem;
border - radius: 1快速眼动;
}
按钮{
显示:inline-flex;
名:中心;
差距:.5rem;
背景:hsl(265 100% 47%);
边框:1px固体hsl(265 100% 67%);
颜色:白色;
填充:1rem 2rem;
border - radius: 1快速眼动;
字体大小:1.25快速眼动;
}
身体{
最小高度:100 vh;
显示:flex;
flex-direction:列;
justify-content:中心;
对齐项目:中心;
}
< >节
<标题> < / h1 >网格
< div class = "标签" >的< / div >
< div class = "标签" >首席运营官< / div >
< div class = "标签" > Rad < / div >
< div class = "标签" > < / div >数学
< / >节
< br >
< flex节>
<标题> Flex h1 > < /
< div class = "标签" >的< / div >
< div class = "标签" >首席运营官< / div >
< div class = "标签" > Rad < / div >
< div class = "标签" > < / div >数学
< / >节
从sawa的答案开始,这里有一个稍微改进的版本,允许您在没有周围边距的情况下设置项目之间的固定间距。
http://jsfiddle.net/chris00/s52wmgtq/49/
还包括Safari“-webkit-flex”版本。
.outer1 {
background-color: orange;
padding: 10px;
}
.outer0 {
background-color: green;
overflow: hidden;
}
.container
{
display: flex;
display: -webkit-flex;
flex-wrap: wrap;
-webkit-flex-wrap: wrap;
background-color: rgba(0, 0, 255, 0.5);
margin-left: -10px;
margin-top: -10px;
}
.item
{
flex-grow: 1;
-webkit-flex-grow: 1;
background-color: rgba(255, 0, 0, 0.5);
width: 100px;
padding: 10px;
margin-left: 10px;
margin-top: 10px;
text-align: center;
color: white;
}
<div class="outer1">
<div class="outer0">
<div class="container">
<div class="item">text</div>
<div class="item">text</div>
<div class="item">text</div>
<div class="item">text</div>
<div class="item">text</div>
<div class="item">text</div>
</div>
</div>
</div>
你可以利用新的房产缺口。我复制粘贴了我在本文中找到的解释,以及更多的信息
CSS的网格布局有差距(以前的网格差距)有一段时间了。通过指定包含元素的内部间距而不是子元素周围的间距,gap解决了许多常见的布局问题。例如,使用gap,你不必担心子元素的边距会在包含元素的边缘造成不必要的空白:
不幸的是,目前只有FireFox支持flex布局中的gap。
@use postcss-preset-env {
阶段:0;
浏览器:最近2个版本
}
节{
宽度:30大众;
显示:网格;
差距:1快速眼动;
Grid-template-columns: repeat(auto-fit, minmax(12ch, 1fr));
& (flex) {
显示:flex;
flex-wrap:包装;
}
margin-bottom: 3快速眼动;
}
.tag {
颜色:白色;
背景:hsl(265 100% 47%);
填充:.5rem 1rem;
border - radius: 1快速眼动;
}
按钮{
显示:inline-flex;
名:中心;
差距:.5rem;
背景:hsl(265 100% 47%);
边框:1px固体hsl(265 100% 67%);
颜色:白色;
填充:1rem 2rem;
border - radius: 1快速眼动;
字体大小:1.25快速眼动;
}
身体{
最小高度:100 vh;
显示:flex;
flex-direction:列;
justify-content:中心;
对齐项目:中心;
}
< >节
<标题> < / h1 >网格
< div class = "标签" >的< / div >
< div class = "标签" >首席运营官< / div >
< div class = "标签" > Rad < / div >
< div class = "标签" > < / div >数学
< / >节
< br >
< flex节>
<标题> Flex h1 > < /
< div class = "标签" >的< / div >
< div class = "标签" >首席运营官< / div >
< div class = "标签" > Rad < / div >
< div class = "标签" > < / div >数学
< / >节