css - 创建一个 4x4 响应式正方形网格,在容器的每一侧留出 20px 的边距?

标签 css responsive-design grid-layout

<分区>

我想创建一个 响应式 4x4 正方形网格,在整个容器的左侧和右侧边距恰好为 20 像素。此外,这将有效地消除每行第一个方 block 上的左边距,并消除每行最后一个方 block 上的右边距,因为不需要双边距.

The green color notes the 20px margins on each side.

enter image description here

到目前为止,我已经创建了带有百分比的正方形网格,但问题是,因为我在每个正方形的所有边上都应用了边距,所以这种方法不能保证左右边距(在容器上)每个 20 像素。

fiddle :http://jsfiddle.net/p9qdhfub/1/

HTML

<section>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</section>

CSS

div {
    background: #000;
    float: left;
    height: 24vw;
    margin: 1%;
    width: 23%;
}

问题

我如何能够创建一个 4x4 响应式正方形网格,其中容器(即 section)始终具有 20px 的 margin-left margin-right 为 20px?

最佳答案

你可以简单地添加

section{
    margin:-1%;
    padding:20px;
}

DEMO

这样您就可以在容器的每一侧都有 20 像素的固定间距。要移除水平滚动条,您可以使用 overflow:hidden;

添加另一个容器

DEMO

html,
body {
  margin: 0;
}
.w {
  overflow: hidden;
}
section {
  margin: -1%;
  padding: 20px;
}
section div {
  background: #000;
  float: left;
  height: 24vw;
  margin: 1%;
  width: 23%;
}
<div class="w">
  <section>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
  </section>
</div>

关于css - 创建一个 4x4 响应式正方形网格,在容器的每一侧留出 20px 的边距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27710062/

相关文章:

javascript - 我可以为按钮创建快捷方式吗?

javascript - 如何将网页向下推以适合顶部栏

jquery - 使用 CSS 格式化响应式菜单 (jQuery)

javascript - SVG 和响应问题

html - 如何从网格中获取 'disconnect' 元素?

html - ie-8 在图像上得到黑色轮廓

html - 如何在我的 HTML 电子邮件中包含图像?

html - 如何在不移动到下方的情况下将列从三列减少到两列 - bootstrap

css - 有没有办法打印SASS值输出?

html - 填充到 CSS 网格