CSSの添付画像のようなレンガレイアウトを2日間作成してみました。私はいくつかのコードを書かれているこのようなレイアウトを実現するために添付された画像CSSのレンガレイアウト
を参照してください。私は
.photo-row {
width: 100%;
height: 200px;
}
.photo-row.first div {
display: inline-block;
height: 100%;
}
.first-item-1 {
width: 13.57%;
background: red;
}
.first-item-2 {
width: 19.21%;
background: green;
}
.first-item-3 {
width: 31.21%;
background: orange;
}
.first-item-4 {
width: 15.14%;
background: blue;
}
.first-item-5 {
width: 19.78%;
background: yellow;
}
アイデアは、それぞれが一定の割合の幅をDIV与えることでした、次のHTML
<div class="photo-row first">
<div class="first-item-1"></div>
<div class="first-item-2"></div>
<div class="first-item-3"></div>
<div class="first-item-4"></div>
<div class="first-item-5"></div>
</div>
とCSSを使用して(単語「レッツ」と行)最初の行を複製しようとしています親のdivの中にあるので、それらはレンガ形式で整列して応答します。そして、私は各子供たちに背景画像を与えようとしていました。私のレイアウトは動作しますが、いくつかのビューポートではブレークし、最後の子divは2行目にシフトします。
I持ってもこれを実証するためのcodepenデモを行います。https://codepen.io/Ali_Farooq_/pen/oobBYj
.photo-row {
width: 100%;
height: 200px;
}
.photo-row.first div {
display: inline-block;
height: 100%;
}
.first-item-1 {
width: 13.57%;
background: red;
}
.first-item-2 {
width: 19.21%;
background: green;
}
.first-item-3 {
width: 31.21%;
background: orange;
}
.first-item-4 {
width: 15.14%;
background: blue;
}
.first-item-5 {
width: 19.78%;
background: yellow;
}
<div class="photo-row first">
<div class="first-item-1"></div>
<div class="first-item-2"></div>
<div class="first-item-3"></div>
<div class="first-item-4"></div>
<div class="first-item-5"></div>
</div>
親、なぜ彼らが2番目の行に移動します。もう1つは...私はレイアウトのデザインをしようとしているので、左または右のどちらにも空白がありません。もし誰かがJavaScript/jQueryでこれに対する解決策を持っていれば、それも私のために働くでしょう。
ありがとうございます!
私は、このようなレイアウトのためのフレックスボックスをお勧めします。 –
私は間違いなくflexboxがおそらく正しいアプローチだと同意しますが、[Grid Layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout)も参照してくださいそれがあなたのために働くかどうかを確認するだけです。 – zero298
Flexboxは問題ありませんが、すべてのブラウザでサポートされています(CSSグリッドと同じ)。それが問題なのであれば、空白を取り除くために要素を浮動させるだけです。 'float:left;' –