这是我制作的响应式网格。我想在所有元素周围添加10px的边距。 我需要这些边距始终是相同的宽度。 但应用保证金打破了电网的响应方面。我需要利润来挤压" div不要"推"它
.wrapper {
margin: 0 auto;
max-width: 940px;
background: #EBEBEB;
}
.ideas__gallery__h3 {
color: #333;
font-weight: bold;
font-size: 22px;
text-align: center;
margin-bottom: 34px;
}
.one {
width: 33.3333333333333333%;
height: 310px;
background: lightblue;
float: left;
}
.two {
width: 33.3333333333333333%;
height: 310px;
background: lightpink;
float: left;
}
.three {
width: 33.3333333333333333%;
height: 310px;
background: lightyellow;
float: left;
}
.four {
width: 33.3333333333333333%;
height: 310px;
background: lightcyan;
float: left;
}
.five {
width: 66.6666666666666666%;
height: 310px;
background: lightgreen;
float: left;
}
.six {
width: 66.6666666666666666%;
height: 310px;
background: lightskyblue;
float: left;
}
.seven {
width: 33.3333333333333333%;
height: 310px;
background: lightgoldenrodyellow;
float: left;
}

<div class="wrapper">
<div class="ideas__gallery">
<h3 class="ideas__gallery__h3">Headline</h3>
<div class="one"></div>
<div class="two"></div>
<div class="three"></div>
<div class="four"></div>
<div class="five"></div>
<div class="six"></div>
<div class="seven"></div>
</div>
</div>
&#13;
答案 0 :(得分:3)
您可以使用calc
从margin
中删除width
。这意味着margin
将不再使div
超过容器的width
,这会迫使他们进入新的一行。
需要进行以下更改:
.ideas__gallery div
添加新规则margin: 10px;
。这会将margin
添加到div
.ideas__gallery
中
width
的{{1}}以使用div
从计算出的calc
margin
width
.wrapper {
margin: 0 auto;
max-width: 940px;
background: #EBEBEB;
}
.ideas__gallery__h3 {
color: #333;
font-weight: bold;
font-size: 22px;
text-align: center;
margin-bottom: 34px;
}
.ideas__gallery div {
margin: 10px;
}
.one {
width: calc(33.3333333333333333% - 20px);
height: 310px;
background: lightblue;
float: left;
}
.two {
width: calc(33.3333333333333333% - 20px);
height: 310px;
background: lightpink;
float: left;
}
.three {
width: calc(33.3333333333333333% - 20px);
height: 310px;
background: lightyellow;
float: left;
}
.four {
width: calc(33.3333333333333333% - 20px);
height: 310px;
background: lightcyan;
float: left;
}
.five {
width: calc(66.6666666666666666% - 20px);
height: 310px;
background: lightgreen;
float: left;
}
.six {
width: calc(66.6666666666666666% - 20px);
height: 310px;
background: lightskyblue;
float: left;
}
.seven {
width: calc(33.3333333333333333% - 20px);
height: 310px;
background: lightgoldenrodyellow;
float: left;
}
答案 1 :(得分:1)
您可以使用css calc
。 Jsfiddle
.one, .two, .three
{
margin: 10px;
width:calc(33.3333333333333333% - 20px);
}