CSS 网格 - 如何获取图像以填充网格项 space
CSS Grid - How to get an image to fill grid item space
我正在构建响应式 3x3 网格,目前我拥有的是:
您会注意到,这会在调整大小时保持网格项目中包含的每个图像的纵横比,并且它保持在 3x3 网格中(这是需要的)。
.people-grid {
display:grid;
grid-template-columns: 1fr 1fr 1fr;
grid-gap: 10px;
}
.grid-item {
position: relative;
display:block;
background-size:cover;
border:1px solid red;
}
.grid-item img {
width:100%;
}
.grid-item-inner {
position: absolute;
top:0;
margin:15px;
bottom:0;
width: 90%;
background:#fdfdfd;
border:1px solid #78a7d7;
opacity:0.8;
}
但是我一辈子都想不出如何消除图像底部的额外间距。 (狗的底部和红色边框之间的白色space)。我可以使用其他网格属性来帮助解决这个问题吗?
我是一个 CSS 网格新手,所以如果有其他方法可以实现这一点,我愿意接受建议。
是吗?
.people-grid {
display:grid;
grid-template-columns: 1fr 1fr 1fr;
grid-gap: 10px;
}
.grid-item {
position: relative;
display:block;
border:1px solid red;
width:100%;
height:100%;
}
.grid-item img {
width:100%;
height:100%;
}
.grid-item-inner {
position: absolute;
top:0;
margin:15px;
bottom:0;
width: 90%;
background:#fdfdfd;
border:1px solid #78a7d7;
opacity:0.8;
}
<div class="people-grid-container">
<div class="people-grid">
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
</div>
</div>
我正在构建响应式 3x3 网格,目前我拥有的是:
您会注意到,这会在调整大小时保持网格项目中包含的每个图像的纵横比,并且它保持在 3x3 网格中(这是需要的)。
.people-grid {
display:grid;
grid-template-columns: 1fr 1fr 1fr;
grid-gap: 10px;
}
.grid-item {
position: relative;
display:block;
background-size:cover;
border:1px solid red;
}
.grid-item img {
width:100%;
}
.grid-item-inner {
position: absolute;
top:0;
margin:15px;
bottom:0;
width: 90%;
background:#fdfdfd;
border:1px solid #78a7d7;
opacity:0.8;
}
但是我一辈子都想不出如何消除图像底部的额外间距。 (狗的底部和红色边框之间的白色space)。我可以使用其他网格属性来帮助解决这个问题吗?
我是一个 CSS 网格新手,所以如果有其他方法可以实现这一点,我愿意接受建议。
是吗?
.people-grid {
display:grid;
grid-template-columns: 1fr 1fr 1fr;
grid-gap: 10px;
}
.grid-item {
position: relative;
display:block;
border:1px solid red;
width:100%;
height:100%;
}
.grid-item img {
width:100%;
height:100%;
}
.grid-item-inner {
position: absolute;
top:0;
margin:15px;
bottom:0;
width: 90%;
background:#fdfdfd;
border:1px solid #78a7d7;
opacity:0.8;
}
<div class="people-grid-container">
<div class="people-grid">
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
<a href="" class="grid-item">
<img src="https://placeimg.com/376/379/animals">
<div class="grid-item-inner">
<p>sample</p>
</div>
</a>
</div>
</div>