css - 如果没有足够的空间,如何使网格 minmax 转到 1 列?
问题描述
我有一种情况,这两列所在的容器大小与视口宽度不一致,所以我不能轻易使用断点。我想知道如果没有足够的宽度,CSS 网格中是否有一些东西会使一列从 2 列变为 1 列,就像 CSS 列所做的那样(这就是我目前正在使用的,但它有一些奇怪的行为)。
header{
display: grid;
grid-template-columns: minmax(200px, 400px) minmax(200px, 400px);
grid-gap: 5%;
}
div{
background-color: green;
}
<header>
<div>
test<br />test
</div>
<div>
test<br />test
</div>
<div>
test<br />test
</div>
<div>
test<br />test
</div>
</header>
现在,如果没有足够的空间,它只会重叠,但如果没有足够的空间,我希望它可以包裹起来。我将尺寸设置为 200 和 400 像素,以便于测试。
解决方案
有一个更好的解决方案,通过display:flex
在你的标题标签和宽度屏幕中使用你可以添加媒体查询并设置每个 div 部分将被包装的一些像素的每个 div 元素真的不够。这是一个CSS示例。
header{
display: flex;
justify-content:space-evenly;
flex-wrap:wrap;
}
div{
background-color: green;
flex:0 0 45%;
max-width:45%;
margin-bottom:0.5rem;
}
@media only screen and (max-width:600px) {
div {
flex:0 0 100%;
max-width:100%;
}
}
推荐阅读
- vb.net - 使用 .NET 5 的 Visual Basic 项目的高 DPI 模式错误
- reactjs - 将属性添加到 React Typescript 接口
- windows - 'mongoimport' 不是内部或外部命令、可运行程序或批处理文件
- java - 需要一个 java 同步辅助(类似于 ReentrantReadWriteLock 的东西)
- c - 在同一个进程中,同一个文件的多个 MAP_PRIVATE 映射是否仍然是私有的?
- python - AttributeError:“TensorDataset”对象没有属性“视图”
- c - 如何在c中将2个字符与strcmp进行比较?
- javascript - 是否可以打开带有标题的网页?
- firebase - WifiEsp connectSSL() 无法连接 Firestore 服务器
- mysql - 截断 SQL 工作台中的表