例如这将产生一个适合它的容器,如果容器具有类型块的图像:是否可以在保持高宽比的同时在CSS网格中自动调整图像大小?
#image {
max-height: 100%;
max-width: 100%;
width: auto;
height: auto;
}
然而,如果图像是已经固定大小的行的网格的一部分它不工作(这里是a plunk看它在行动),例如:
<style>
#container {
display: grid;
grid-auto-columns: 0.3fr;
grid-auto-rows: 80px;
}
.image {
border: 1px solid black;
max-width: 100%;
max-height: 100%;
height: auto;
width: auto;
}
.image:nth-child(1) {
grid-column: 1;
grid-row: 1;
}
.image:nth-child(2) {
grid-column: 1;
grid-row: 2;
}
</style>
<div id="container">
<img class="image" src="http://via.placeholder.com/1366x768">
<img class="image" src="http://via.placeholder.com/1366x768">
</div>
在这个例子中两个图像去他们的框框,我会一直期待这两个图像表现得像他们在单独的容器是这样的:
#container {
display: block;
height: 80px;
}
基本上我的问题是,有没有一种方法,我可以风格的图像,使他们能够扩展以适应任何网格单元(不管细胞是否使用auto
或固定大小),让他们自动收缩以适应单元格,而内还保持它们的纵横比(与它们可以在块容器中收缩的方式相同)?
SVG是无关紧要的,图像是只是普通的照片已经公开。基本上有一个网格显示网格中的小图像,但随后可以放大。在缩放视图中,它们需要适合视口,因此需要使用'grid-row-auto'的绝对值(例如'1fr'),但在表中'auto'很好(列不是自动的,而是任何)。 | 'background-size:cover'与我尝试过的几乎有相同的问题。 – Jamesernator