【发布时间】:2018-01-09 13:54:38
【问题描述】:
我想要达到的目标:
使用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()
(...) 定义大于或等于 min 且小于的大小范围 或等于最大值。
这意味着在我的情况下,宽度从auto(当div 为空时=0)设置为20%。然而,它保持在 20%。为什么会这样?
【问题讨论】:
-
我想要一个有右栏的页面还有很多其他的方法可以实现,使用
grid-template-columns有什么具体原因吗? -
@AbhishekPandey:是的,整个应用程序基于 CSS Grid(我将在问题中澄清这一点)
标签: html css units-of-measurement css-grid