我想要实现的目标:
使用CSS Grid Layout,创建一个页面,其中右侧列可以根据其内容大小进行调整,但最大宽度不能超过窗口宽度的20%。
我原本以为会怎样实现:
div {
border-style: solid;
}
#container {
width: 300px;
height: 300px;
display: grid;
grid-template-columns: 1fr minmax(auto, 20%);
}
<div id="container">
<div>
some content
</div>
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec cursus eu leo ac ultrices. Vivamus ornare, orci sed pretium sollicitudin
</div>
</div>
看起来不错,但是当我移除第二个 div
的内容后,左边的列没有被折叠:
div {
border-style: solid;
}
#container {
width: 300px;
height: 300px;
display: grid;
grid-template-columns: 1fr minmax(auto, 20%);
}
<div id="container">
<div>
some content
</div>
<div></div>
</div>
我的问题:
我认为由于minmax()
定义了一个大于等于最小值并小于等于最大值的尺寸范围。
(...)
它应该意味着在我的情况下,宽度从
auto
(当为空时为0
)设置为20%
。但实际上它保持在20%
。为什么会这样呢?
grid-template-columns
有特定原因吗? - Abhishek Pandey