I wanna stretch the small image to the big image height like the below image:
I have tried align-items: stretch;
, justify-content: stretch;
, align-content: stretch;
, justify-items: stretch;
, and assign height: 100%;
to the images, but all of these not working...I don't know why...
And my second question is that there should be only two rows, I don't understand why grid-row: 1 / 2;
is not working but grid-row: 1 / 4;
is working...
#main {
align-items: stretch;
justify-content: stretch;
align-content: stretch;
justify-items: stretch;
display: grid;
gap: 15px;
grid-template-columns: repeat(4,minmax(0,1fr));
width: 500px;
}
#big {
grid-column: 2 / span 2;
grid-row: 1 / 4;
}
#main img {
width: 100%;
height: 100%;
}
<div id="main">
<img src="https://dummyimage.com/500x200/e3e3e3/000000">
<img id="big" src="https://dummyimage.com/1000x1000/e3e3e3/000000">
<img src="https://dummyimage.com/500x200/e3e3e3/000000">
<img src="https://dummyimage.com/500x200/e3e3e3/000000">
<img src="https://dummyimage.com/500x200/e3e3e3/000000">
</div>
CodePudding user response:
Change grid-row
from 1 / 4
to 1 / 3
:
#main {
align-items: stretch;
justify-content: stretch;
align-content: stretch;
justify-items: stretch;
display: grid;
gap: 15px;
grid-template-columns: repeat(4, minmax(0, 1fr));
width: 500px;
}
#big {
grid-column: 2 / span 2;
grid-row: 1 / 3;
}
#main img {
width: 100%;
height: 100%;
}
<div id="main">
<img src="https://dummyimage.com/500x200/e3e3e3/000000">
<img id="big" src="https://dummyimage.com/1000x1000/e3e3e3/000000">
<img src="https://dummyimage.com/500x200/e3e3e3/000000">
<img src="https://dummyimage.com/500x200/e3e3e3/000000">
<img src="https://dummyimage.com/500x200/e3e3e3/000000">
</div>
CodePudding user response:
You can also use grid-area: span 2/span 2
#main {
display: grid;
gap: 15px;
grid-template-columns: repeat(4,minmax(0,1fr));
width: 500px;
}
#big {
grid-area: span 2/span 2;
}
#main img {
width: 100%;
height: 100%;
}
<div id="main">
<img src="https://dummyimage.com/500x200/e3e3e3/000000">
<img id="big" src="https://dummyimage.com/1000x1000/e3e3e3/000000">
<img src="https://dummyimage.com/500x200/e3e3e3/000000">
<img src="https://dummyimage.com/500x200/e3e3e3/000000">
<img src="https://dummyimage.com/500x200/e3e3e3/000000">
</div>