レスポンシブ モザイク グリッドを作成しようとしていますが、これは次のようになります。 ターゲット グリッド モザイク
<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);
}
}
ご覧のとおり、最後の 2 つのグリッド アイテムにはクラス「bot-one」があります。縦横比のブロックに到達するために、これをフローティングにして「パディングボトム」トリックを使用しました。
しかし、効果に到達できません....最後の2つのブロックが正しい場所にスタックしていません.ここで何が問題になっていますか?