我正在嘗試實作如下所示的砌體效果:

如您所見,此布局中間的卡片位于60px周圍卡片的上方。
為了實作這一點,我試圖添加-60px margin到中心卡,但它不起作用。
我看不出有什么方法可以使用類似的方法:nth-child(2n 1)來完成這項作業,例如,第 5 張卡不符合該 css 規則。
這是最好的方法還是可以通過css網格實作,沒有負邊距?
.section {
padding: 100px 0;
}
.card{
max-width: 320px;
margin: 0 auto;
margin-bottom: 32px;
}
.card__image {
width: 100%;
height: 467px;
background-size: cover;
background-repeat: no-repeat;
}
/* have tried below */
.card:nth-child(2){
margin-top: -60px;
}
.section__card--2{
margin-top: -60px;
}
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<section class="section">
<div class="container">
<div class="row">
<div class="col-12 col-md-4 section__card section__card--1">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
<div class="col-12 col-md-4 section__card section__card--2">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
<div class="col-12 col-md-4 section__card section__card--3">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
<div class="col-12 col-md-4 section__card section__card--4">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
<div class="col-12 col-md-4 section__card section__card--5">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
<div class="col-12 col-md-4 section__card section__card--6">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
</div>
</div>
</section>
uj5u.com熱心網友回復:
你真的很接近你的嘗試。最好的做法是將行正確地分成 CSS 行(因為您已經使用 定義了每行 3 個影像的規則col-md-4)。
因此,在您的 HTML 中,對于每 3 個影像,您可以使用自定義類(例如:)將它們分成幾行section__row。按照您的風格,您只需添加:
.section__row > .section__card:nth-child(2){
margin-top: -60px;
}
最終代碼:
.section {
padding: 100px 0;
}
.card{
max-width: 320px;
margin: 0 auto;
margin-bottom: 32px;
}
.card__image {
width: 100%;
height: 467px;
background-size: cover;
background-repeat: no-repeat;
}
.section__row > .section__card:nth-child(2){
margin-top: -60px;
}
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<section class="section">
<div class="container">
<div class="row section__row">
<div class="col-12 col-md-4 section__card section__card--1">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
<div class="col-12 col-md-4 section__card section__card--2">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
<div class="col-12 col-md-4 section__card section__card--3">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
</div>
<div class="row section__row">
<div class="col-12 col-md-4 section__card section__card--4">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
<div class="col-12 col-md-4 section__card section__card--5">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
<div class="col-12 col-md-4 section__card section__card--6">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
</div>
</div>
</section>
uj5u.com熱心網友回復:
將margin-top屬性應用于.section__card類。
.section {
padding: 100px 0;
}
.card {
max-width: 320px;
margin: 0 auto;
margin-bottom: 32px;
}
.card__image {
width: 100%;
height: 467px;
background-size: cover;
background-repeat: no-repeat;
}
/* have tried below */
.section__card:nth-child(2) {
margin-top:-60px;
}
.section__card:nth-child(5) {
margin-top:-60px;
}
.section__card--2 {
margin-top: -60px;
}
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<section class="section">
<div class="container">
<div class="row">
<div class="col-12 col-md-4 section__card section__card--1">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
<div class="col-12 col-md-4 section__card section__card--2">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
<div class="col-12 col-md-4 section__card section__card--3">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
<div class="col-12 col-md-4 section__card section__card--4">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
<div class="col-12 col-md-4 section__card section__card--5">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
<div class="col-12 col-md-4 section__card section__card--6">
<div class="card">
<div class="card__image" style="background-image: url( https://i.picsum.photos/id/219/200/300.jpg?hmac=RGnJfbO2380zLCFSj2tm_q0vW0wtw67d0fhWHX2IoDk ); "></div>
</div>
</div>
</div>
</div>
</section>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/386909.html
上一篇:如何使按鈕位于導航欄下方?
