试图制作一个响应式的马赛克网格,它必须看起来像这样。 目标网格马赛克
<div class="masonry grid clearfix">
<div class="grid-item dbl-height"></div>
<div class="grid-item mrg-on-left"></div>
<div class="grid-item mrg-on-left dbl-width"></div>
<div class="grid-item mrg-on-left mrg-on-top dbl-width middle-one"></div>
<div class="grid-item mrg-on-left mrg-on-top dbl-height"></div>
<div class="grid-item dbl-width pull-up-one bot-one"></div>
<div class="grid-item mrg-on-left pull-up-one bot-one"></div>
</div>
这是scss
.grid {
padding: 1px 0px;
}
.grid-item {
padding-bottom: calc(((100% - 2px)/4));
width: calc(((100% - 2px)/4));
float: left;
background: violet;
&.dbl-height {
padding-bottom: calc(((100% - 2px)/4)*2);
&.right-one {
padding-bottom: calc((((100% - 2px)/4)*2) - 1px);
}
}
&.dbl-width {
width: calc(((100% - 2px)/4)*2);
}
&.mrg-on-left {
margin-left: 1px;
}
&.mrg-on-top {
margin-top: 1px;
}
&.middle-one {
padding-bottom: calc(((100% - 2px)/4) - 1px);
}
&.pull-up-one {
margin-top: calc(((100% - 2px)/(-4)));
}
&.bot-one {
padding-bottom: calc(((100% - 2px)/4) - 1px);
}
}
如果你看,最后两个网格项目有类“bot-one”。我已经使这个浮动并使用“填充底部”技巧来达到具有纵横比的块。
但是无法达到效果....最后2块没有堆叠在正确的位置...这里有什么问题?