我有一个有8个元素的css网格。各列最小为100px,最大为1fr。
问题是,在较低的分辨率第一列的内容,使它在2行,我需要有这在1行。我想使列,以适应其内容,即使它是大于1fr。
我为网格准备的CSS代码是这样的,
.grid-1{
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}
我知道我可以像这样为第一列设置一个固定的大小来解决这个问题,
.grid-2{
grid-template-columns: 210px repeat(auto-fit, minmax(100px, 1fr));
}
但是,问题是我想在其他部分使用这段代码。
整个代码在这里https://jsfiddle.net/hcx72rgy/
2条答案
按热度按时间62lalag41#
要通过minmax()将列收缩到内容的宽度,可以使用max-content作为最大大小,0作为最小大小,这样它就完全收缩到它所在列的最宽内容。
https://jsfiddle.net/ce6zgur8/
x一个一个一个一个x一个一个二个x
提醒https://developer.mozilla.org/en-US/docs/Web/CSS/minmax
另请参见
fit-content(x);
https://developer.mozilla.org/en-US/docs/Web/CSS/fit-contentvlurs2pr2#
也可以使用
fit-content(100%)
值然后,您需要将子元素的宽度大小定义为
fit-content