gpt4 book ai didi

css - 如何设置 CSS 网格列的宽度和最大宽度?

转载 作者:技术小花猫 更新时间:2023-10-29 11:21:03 25 4
gpt4 key购买 nike

是否可以限制 CSS 网格列的宽度?

body {
margin: 0;
padding: 0;
}
.container {
display: grid;
grid-template-columns: minmax(17.5%, 250px) minmax(31.25%, 480px) auto;
grid-template-rows: 100vh;
grid-gap: 0;
}
.menu {
padding-top: 32px;
background: linear-gradient(135deg, #837DB5 0%, #364176 100%);
}
.list-view {
background-color: #F5F5FC;
}
<div class="container">
<div class="menu"></div>
<div class="list-view"></div>
<div class="details"></div>
</div>

在上面的例子中,它总是为菜单使用 17.5% 的宽度,因为:

"If max is smaller than min, then max is ignored and the function is treated as min."

来源:https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns

我想要的是一个宽度为 17.5% 且最大为 250 像素的菜单。这可能吗?

最佳答案

执行此操作的一种方法可能是声明:

.container {grid-template-columns: 250px 480px auto;}

作为您的标准规则。

然后,在考虑了您希望应用于第三列的最窄宽度之后,您可以应用 @media 查询。

假设您要确保第三列的宽度不小于 100px

250px + 480px + 100px = 830px

因此您需要为 830px 编写一个 @media 查询:

@media only screen and (max-width: 830px) {

.container {grid-template-columns: 17.5% 31.25% auto;}
}

工作示例:

body {
margin: 0;
padding: 0;
}

.container {
display: grid;
grid-template-columns: 250px 480px auto;
grid-template-rows: 100vh;
grid-gap: 0;
}

.menu {
padding-top: 32px;
background: linear-gradient(135deg, #837DB5 0%, #364176 100%);
}

.list-view {
background-color: #F5F5FC;
}

@media only screen and (max-width: 830px) {

.container {grid-template-columns: 17.5% 31.25% auto;}
}
<div class="container">
<div class="menu"></div>
<div class="list-view"></div>
<div class="details"></div>
</div>

关于css - 如何设置 CSS 网格列的宽度和最大宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50329700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com