【发布时间】:2018-12-09 17:29:11
【问题描述】:
我一直在寻找一段时间,但我找不到似乎有效的答案。
我有一些卡片,里面有两张图片。
卡片内的图像略有不同的纵横比 - 这会留下一些不需要的空白和不均匀的水平间距。本质上,我该如何摆脱它? :)
这里有一个codepen 来帮助更好地解释它。
最好的方法是声明所有东西的高度和某种缩放方法吗?
main {
display: grid;
grid-template-columns: 1fr;
grid-auto-rows: auto;
grid-gap: 0.5em;
}
.card {
display: grid;
place-items: center;
box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 5px;
}
.card-image-profile {
display: block;
width: 100%;
height: auto;
}
.card-image-department {
padding: 0.25rem;
max-width: 70%
}
@media only screen and (min-width: 400px) {
main {
grid-template-columns: 1fr 1fr;
}
}
@media only screen and (min-width: 500px) {
main {
grid-template-columns: 1fr 1fr 1fr;
}
}
@media only screen and (min-width: 700px) {
main {
grid-template-columns: 1fr 1fr 1fr 1fr;
}
.card-image-department {
max-width: 100%
}
}
@media only screen and (min-width: 900px) {
main {
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
}
@media only screen and (min-width: 1100px) {
main {
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}
}
<main>
<div class="card">
<img src="http://via.placeholder.com/350x150" class="card-image-profile">
<img src="http://via.placeholder.com/200x60" class="card-image-department">
</div>
<div class="card">
<img src="http://via.placeholder.com/359x150" class="card-image-profile">
<img src="http://via.placeholder.com/200x60" class="card-image-department">
</div>
<div class="card">
<img src="http://via.placeholder.com/345x150" class="card-image-profile">
<img src="http://via.placeholder.com/200x60" class="card-image-department">
</div>
<div class="card">
<img src="http://via.placeholder.com/357x150" class="card-image-profile">
<img src="http://via.placeholder.com/200x62" class="card-image-department">
</div>
<div class="card">
<img src="http://via.placeholder.com/350x150" class="card-image-profile">
<img src="http://via.placeholder.com/200x60" class="card-image-department">
</div>
</main>
由于图像尺寸略有不同,卡片之间的间距不一致。
【问题讨论】: