css - 网格中的最小列数
问题描述
请记住,列数的值是动态的,可以设置为 2 到 5 列之间的任何数字。
我有两个“平板电脑”和“桌面”的断点,我希望平板电脑的列数比桌面少一。但是,我正在尝试找到一种方法来设置平板电脑的最小列数,因为如果选择了“2”,我不希望列数为 1。
到目前为止,我有以下(缩写)代码:
.some-grid {
--columns: 1;
display: grid;
grid-template-columns: repeat(var(--columns), 1fr);
}
@media (min-width: 751px) {
.some-grid {
/* This would output 1 column, but would like to set it to 2 minimum */
--columns: calc(var(--columns-large) - 1);
}
}
@media (min-width: 991px) {
.some-grid {
--columns-large: 2;
}
}
这可能吗?
解决方案
利用max()
.some-grid {
--columns: 1;
display: grid;
grid-template-columns: repeat(var(--columns), 1fr);
}
@media (min-width: 751px) {
.some-grid {
--columns: max(2,var(--columns-large) - 1);
}
}
@media (min-width: 991px) {
.some-grid {
--columns-large: 2;
}
}
/**/
.some-grid {
gap:5px;
}
.some-grid * {
height:40px;
background:red;
}
<div class="some-grid">
<div></div>
<div></div>
<div></div>
</div>
推荐阅读
- css - CSS:显示弹性
- sql - SQL:日历表上的左连接(火花 SQL)
- reactjs - componentDidMount 中的 ReactJS 生命周期 setState
- c# - ECC p-128 未在 c# 中生成 32 字节数组签名
- android - 如果我可以将 Flow 和 StateFlow 与生命周期范围 \ viewLifecycleOwner.lifecycleScope 一起使用,那么在 ViewModel 中使用 LiveData 有什么意义
- javascript - e.preventDefault 阻止成功的提交事件
- google-apps-script - 拥有多个 Google Apps 脚本项目会减慢执行时间吗?
- c# - Visual Studio 2019 崩溃执行与 Windows 窗体设计器包相关的任何操作(?)
- javascript - 如何在我的 Firebase 数据库列表中按索引查找项目?
- python - 如何防止 pyspark 将逗号解释为以 JSON 对象为值的 csv 字段中的分隔符