Ale*_*hin 8 css grid minmax css-grid
minmax: 如果 max < min,则忽略 max,并将 minmax(min,max) 视为 min..
我想做类似的事情
grid-template-columns: 1fr minmax(50%, 70vmin) 1fr;
Run Code Online (Sandbox Code Playgroud)
我不希望该列超过70vmin
。根据规范,在70vmin
恰好小于 的情况下50%
,它选择50%
作为列大小,这是我不想要的。是否有可能以某种方式扭转这种行为?
width
您正在寻找的是/的组合,max-width
如下所示:
width:50%;
max-width:70vmin;
Run Code Online (Sandbox Code Playgroud)
70vmin > 50%
那么我们至少有50%
(我们的最小边界)并且我们不会超过70vmin
70vmin < 50%
那么我们的宽度将等于 70vmin(我们抑制最小边界的最大边界)您可以使用简单的 div 和 来实现此目的margin:auto
。不需要网格:
width:50%;
max-width:70vmin;
Run Code Online (Sandbox Code Playgroud)
.grid-item {
max-width: 70vmin;
width: 50%;
height: 50px;
margin:auto;
background: red;
};
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,我们将宽度固定为 50%,因此从技术上讲它不会更大。如果您想要大于 50%,同时70vmin
也更大,您可以尝试以下组合:
<div class="grid-item"></div>
Run Code Online (Sandbox Code Playgroud)
.grid-container {
display:flex;
justify-content:center;
margin:20px 0;
}
.grid-item {
max-width: 70vmin;
flex-basis:50%;
height: 50px;
background: red;
white-space:nowrap;
}
Run Code Online (Sandbox Code Playgroud)
我们使用 flex-basis 将初始宽度设置为至少50%
,我们修复max-width
和 内容可以使元素在 和 之间50%
增长70vmin