当前位置: 首页 > 知识库问答 >
问题:

设置flexbox项目之间距离的更好方法

古明煦
2023-03-14

要设置flexbox项目之间的最小距离,我使用.item上的margy:0 5px和Container上的margy:0-5px。对我来说,这似乎是一个黑客,但我找不到任何更好的方法来做到这一点。

示例

null

#box {
  display: flex;
  width: 100px;
  margin: 0 -5px;
}
.item {
  background: gray;
  width: 50px;
  height: 50px;
  margin: 0 5px;
}
<div id='box'>
  <div class='item'></div>
  <div class='item'></div>
  <div class='item'></div>
  <div class='item'></div>
</div>

null

共有1个答案

公良俊楚
2023-03-14
  • FlexBox没有折叠边距。
  • FlexBox对于表没有类似于边框间距的任何内容(CSS属性gap除外,该属性在Safari、caniuse中不支持)

因此,要达到你所要求的目标是比较困难的。

根据我的经验,不使用:first-child/:last-child并且不对flex-wrap:wrap进行任何修改的“最干净”的方法是在容器上设置padding:5px并在子级上设置margy:5px。这将在每个子级之间以及每个子级与其父级之间产生10px间隙。

演示

null

.upper
{
  margin:30px;
  display:flex;
  flex-direction:row;
  width:300px;
  height:80px;
  border:1px red solid;

  padding:5px; /* this */
}

.upper > div
{
  flex:1 1 auto;
  border:1px red solid;
  text-align:center;

  margin:5px;  /* and that, will result in a 10px gap */
}

.upper.mc /* multicol test */
{flex-direction:column;flex-wrap:wrap;width:200px;height:200px;}
<div class="upper">
  <div>aaa<br/>aaa</div>
  <div>aaa</div>
  <div>aaa<br/>aaa</div>
  <div>aaa<br/>aaa<br/>aaa</div>
  <div>aaa</div>
  <div>aaa</div>
</div>

<div class="upper mc">
  <div>aaa<br/>aaa</div>
  <div>aaa</div>
  <div>aaa<br/>aaa</div>
  <div>aaa<br/>aaa<br/>aaa</div>
  <div>aaa</div>
  <div>aaa</div>
</div>
 类似资料:
  • 问题内容: 要设置我在容器上和容器上使用的flexbox项之间的最小距离。对我来说,这似乎是一种hack,但是我找不到更好的方法来做到这一点。 例 问题答案: Flexbox的利润率没有下降。 Flexbox没有类似于表的任何东西(除了CSS属性,大多数浏览器都无法很好地支持CSS属性,caniuse) 因此,实现您的要求会有点困难。 以我的经验,不使用/ 且不作任何修改就可以工作的“最干净”的方

  • 问题内容: 我从互联网上的某个地方借用了以下方法(不记得在哪里)。但是它做的很简单,找到了两个gps点之间的距离。它工作得很好,除了它可能有点慢之外,因为我正在数百万个点上运行它。我想知道是否有人知道这种方法在计算上会更便宜。 准确度必须在“正确”的一般范围内,但不必是100%准确。 附言:我确实确实发现了许多其他相关问题,但是它们并没有真正关注我的速度问题。 问题答案: 如果您不介意忽略地球的微

  • 我正在使用seaborn使用和am在覆盖轴标签之间的默认距离方面存在一些问题。这里是情节 我的问题是,沿着x轴,我宁愿每个整数,而不是一个浮点数间隔2.5。 我一直在网上查看,但没有找到任何解释如何做到这一点的内容。 编辑:鉴于Seaborn是基于matplotlib构建的,我想知道2是如何交互的。如何获取使用Seaborn创建的此图表并使用matplotlib进行编辑?那么如何使用matplot

  • 因此,在我的have中,我有回收视图,我想要我的再循环视图项目之间的间隔,所以这里我有两个选项 < li >我可以子类化< code > RecyclerView。ItemDecoration < li >我可以将< code >边距添加到项目本身 Cleary第二个选项很简单,使用该选项我得到了想要的结果,但在网上我看到人们使用并推荐它。 我想知道使用< code>ItemDecoration是

  • 我有一个简单的python项目,其目录结构如下: 在config.py文件中,我有: 在run.py文件中,我有一个导入语句,如下所示: 当我使用命令行运行python3.5 run.py时,我得到错误: 从主要。配置导入my_config ImportError:没有名为“main”的模块 但当我在运行中添加此项时。py导入它的工作原理: 除了给出绝对路径或其他方式之外,还有其他更好的方法吗?请

  • 问题内容: 我有这样的代码: 这样,我得到的元素之间没有距离。我的意思是,“顶部”元素总是触及“底部”元素。我该如何更改?我想在元素之间进行一些分离吗? 我考虑在元素之间添加一些“中间” JPanel(具有一定大小)。但是我认为这不是获得理想效果的一种优雅方法。有人可以帮我吗? 问题答案: 将是这样做的一种方式。