如何使外边距是列网格中装订线大小的两倍?

时间:2019-07-14 16:21:43

标签: css margin css-grid grid-layout

如何使外部页边距是列网格中装订线大小的两倍?通常,我会在.row元素中添加与列相同的边距。有什么办法可以更合乎逻辑的方式吗? (因为在行中增加列边距对我来说很奇怪。 这是我想要的结果:

enter image description here

这是我获得它的方式:

body {
  margin: 0;
}

.container {
  max-width: 1024px;
  margin: 0 auto
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 8px
}

.col_1,
.col_2,
.col_3,
.col_4,
.col_5,
.col_6 {
  margin: 0 8px;
  border: 1px solid black;
}

.col_1 {
  width: calc(16.66667% - 16px)
}

.col_2 {
  width: calc(33.33333% - 16px)
}

.col_3 {
  width: calc(50% - 16px)
}

.col_4 {
  width: calc(66.66667% - 16px)
}

.col_5 {
  width: calc(83.33333% - 16px)
}

.col_6 {
  width: calc(100% - 16px)
}

*,
:after,
:before {
  box-sizing: border-box
}
<div class="row">
  <div class="col_3">3</div>
  <div class="col_3">3</div>

  <div class="col_6">6</div>

  <div class="col_3">3</div>
  <div class="col_3">3</div>

  <div class="col_6">6</div>
</div>

1 个答案:

答案 0 :(得分:0)

使用first-childlast-child伪选择器分别到达第一个孩子和最后一个孩子:

.row > div:first-child {
  margin-left: 50px;
}

.row > div:last-child {
  margin-right: 50px;
}