我正在尝试使用CSS网格制作响应式图库,但是我有一个调整大小的问题。
我希望更大的图像成为行的最大高度,但在调整窗口大小时,较小的图像会在图像上显示为网格。
我怎样才能做到这一点?
.container {
margin: 0 auto;
}
.gallery-areas {
display: grid;
grid-gap: 30px;
grid-template-areas: "big-image-1 big-image-2 small-image-1 small-image-2" "big-image-1 big-image-2 small-image-3 small-image-4"
}
.image-1 {
grid-area: big-image-1;
}
.image-2 {
grid-area: big-image-2;
}
.image-3 {
grid-area: small-image-1;
}
.image-4 {
grid-area: small-image-2;
}
.image-5 {
grid-area: small-image-3;
}
.image-6 {
grid-area: small-image-4;
}
img {
width: 100%;
}

<div class="container">
<section class="gallery">
<div class="gallery-areas">
<img class="image-1" src="https://dummyimage.com/389x435/000/fff" alt="">
<img class="image-2" src="https://dummyimage.com/389x435/000/fff" alt="">
<img class="image-3" src="https://dummyimage.com/389x201/000/fff" alt="">
<img class="image-4" src="https://dummyimage.com/389x201/000/fff" alt="">
<img class="image-5" src="https://dummyimage.com/389x201/000/fff" alt="">
<img class="image-6" src="https://dummyimage.com/389x201/000/fff" alt="">
</div>
</section>
</div>
&#13;
答案 0 :(得分:2)
我理解你的问题的方法是,当屏幕较小时,你想让较大的图像与较小的图像对齐。
问题在于您的图像宽度为100%,因此当屏幕较小时,高度(自动)较短,因为您的图像已达到100%标记。
我将图片1和2的高度更新为100%,并将max-width
的{{1}}设置为100%,而不是使用宽度100%。这样,较大的图像可以具有100%的高度并且仍然具有适当的比率,因为宽度默认为自动
img
.container {
margin: 0 auto;
}
.gallery-areas {
display: grid;
grid-gap: 30px;
grid-template-areas: "big-image-1 big-image-2 small-image-1 small-image-2" "big-image-1 big-image-2 small-image-3 small-image-4"
}
.image-1 {
grid-area: big-image-1;
}
.image-2 {
grid-area: big-image-2;
}
.image-3 {
grid-area: small-image-1;
}
.image-4 {
grid-area: small-image-2;
}
.image-5 {
grid-area: small-image-3;
}
.image-6 {
grid-area: small-image-4;
}
img {
max-width: 100%;
}
.image-1, .image-2 {
height: 100%;
}