html - 包裹在 flexbox 网格中的 flex 元素的等边距空间

标签 html css responsive-design flexbox

我正在尝试使用 flexbox 创建响应式网格:

  • 在大屏幕上,一行应该是三列
  • 在较小的屏幕上,只有两行或一行

到目前为止我的代码:

.grid {
  display: flex;
  flex-wrap: wrap;
}
.gridColumn {
  flex: 1 1 0px;
  background-color: lightblue;
  min-width: 200px;
}
<div class="grid">
  <div class="gridColumn">
    <p>first column</p>
  </div>
  <div class="gridColumn">
    <p>second column</p>
  </div>
  <div class="gridColumn">
    <p>third column</p>
  </div>
</div>

现在,我想只在列的之间设置边距(而不是在网格的两侧),这在调整屏幕大小时也应该正确运行。有人知道实现这一目标的方法吗?

最佳答案

您可以为网格项添加边距...

.gridColumn {
    margin: $margin;
}

... 然后由其容器抵消。

.grid {
    margin: -$margin;
}

为避免溢出,您可以将 overflow-x: hidden 应用于 body

Codepen example

关于html - 包裹在 flexbox 网格中的 flex 元素的等边距空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39194219/

相关文章:

html - 使图像在移动设备中响应

html - 将搜索框从旧网站转移到新网站

javascript - jQuery 计算 2 个不同的 HTML 元素属性(height + margin-bottom)

jquery 在 css3 选项卡上滚动到顶部

html - div响应中的对齐图像

html - 在媒体查询中调整 div 的大小

jquery - 自定义滚动条拇指大小的公式是什么

javascript - 如何在单击时在页面上滑动元素

javascript - 使用带有 CSS 背景属性和 url() 的 firebase 存储图像 URL

css - 如何隐藏图像映射区域上的光标