html - 如何消除 Flexbox 中额外的容器间距?

标签 html css flexbox

我是 Flexbox 新手,但在 W3 页面上找不到任何解释如何消除额外容器间距的内容。

例如,以他们的一个例子为例,我不确定如何能够基本上得到与左、中、右浮动相同的东西,并摆脱所有显示的灰色区域在容器中。

如果我只想显示子元素而不显示容器的背景怎么办?

.flex-container {
    display: -webkit-flex;
    display: flex;
    width: auto;
    height: auto;
    background-color: lightgrey;
}

.flex-item {
    background-color: cornflowerblue;
    width: auto;
    height: auto;
    margin: 0px;
    border: 1px solid black;
}
<div class="flex-container">
  <div class="flex-item">flex item 1</div>
  <div class="flex-item">flex item 2</div>
  <div class="flex-item">flex item 3</div>  
</div>

最佳答案

要将元素向左、居中和向右定位,一个简单的方法是使用 justify-content 属性:

.flex-container {
    display: flex;
    justify-content: space-between; /* NEW */
    background-color: lightgrey;
}

.flex-item {
    border: 1px solid black;
    background-color: cornflowerblue;
}
<div class="flex-container">
  <div class="flex-item">flex item 1</div>
  <div class="flex-item">flex item 2</div>
  <div class="flex-item">flex item 3</div>  
</div>

要使元素占用所有容器空间,请在元素上使用 flex: 1:

.flex-container {
    display: flex;
    background-color: lightgrey;
}

.flex-item {
    flex: 1; /* NEW */
    border: 1px solid black;
    background-color: cornflowerblue;
}
<div class="flex-container">
  <div class="flex-item">flex item 1</div>
  <div class="flex-item">flex item 2</div>
  <div class="flex-item">flex item 3</div>  
</div>

关于html - 如何消除 Flexbox 中额外的容器间距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43035252/

相关文章:

CSS 预处理器 mixins 与标记类

html - 带 flexbox 的透明固定页眉

html - 如何使表格单元格拉伸(stretch)其余宽度?

html - 如何使我的六边形网格适合所有设备?

html - 使 CSS 中的网格系统响应移动设备

ipad - 为什么在 iPad 和 iPhone 中输入更圆润?

jquery - 通过 Python 脚本编写包含 jQuery 和 CSS 的 HTML 格式的电子邮件。

html - 强制 flex 元素跨越整个行宽

jquery - 如何在更改另一个单元格值时自动填充光滑网格中单元格的值

jquery - 自定义图像 slider 不起作用