首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在CSS柔性盒中,gap不适用于柔性包装。

在CSS柔性盒中,gap不适用于柔性包装。
EN

Stack Overflow用户
提问于 2021-08-13 16:22:01
回答 4查看 8.9K关注 0票数 0

是的,以前有人问过这个问题,我在网上的例子中见过很多次,但我在尝试中肯定遗漏了一些东西:

代码语言:javascript
运行
复制
main.wrap {
  display: flex;
  flex-wrap: wrap;
  /*flex-direction: row; the default */
  gap: 10%;
}
代码语言:javascript
运行
复制
<main class="wrap">
  <div class="column">
    <h3>Wrap with gap</h3>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent tincidunt imperdiet justo, ac rhoncus urna sollicitudin vitae. Duis eu dolor eu dui tempor cursus. </p>
  </div>

  <div class="sidebar">
    <h3>Sidebar</h3>
    <p>Nullam posuere commodo quam eget ultricies. Duis luctus, mauris at iaculis tempor. </p>
  </div>
</main>

默认情况下,no-wrap工作正常。

请看这里:https://codepen.io/breadwild/pen/abWMQPB

有什么想法?

EN

Stack Overflow用户

发布于 2022-09-01 20:48:43

在您的wrap中,您的columnsidebar被包装成2行,因此没有出现列间隙,因为每个列都占据了整个宽度。(两行之间也没有行间距,因为正如另一个答案中提到的,您使用的是没有任何高度的父级的%值)。

使用wrap,您可以将元素包装成新的行。所以浏览器查看每个元素,看到有足够的文本占据整行,所以它允许这样做,并将元素放在2行。

使用nowrap,您将告诉浏览器将这两个元素放在同一行上。因此浏览器会这样做,为每个元素选择一个宽度,使它们具有相似的高度,并允许10%的间距在两者之间。

因此,要为wrap获得相同的效果,需要对两个元素进行约束,这样它们就不会占用整个行,并且不会导致将其包装为2行。

您可以通过添加这个CSS来实现这一点,例如:

代码语言:javascript
运行
复制
.column {
  max-width: 60%;
}
.sidebar {
  max-width: 30%;
}
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68775570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档