Css 是否可以通过网格模板列定义隐藏内容为空的列?
我有一个带有两列的CSS网格。我可能会也可能不会在第一列中呈现内容。换句话说,div列总是存在的,只是有时候它可能没有内容。当第一列中没有内容时,我不希望该列占用空间,当有内容时,我希望它的最大宽度为100px。仅通过CSS网格定义就可以做到这一点吗Css 是否可以通过网格模板列定义隐藏内容为空的列?,css,css-grid,Css,Css Grid,我有一个带有两列的CSS网格。我可能会也可能不会在第一列中呈现内容。换句话说,div列总是存在的,只是有时候它可能没有内容。当第一列中没有内容时,我不希望该列占用空间,当有内容时,我希望它的最大宽度为100px。仅通过CSS网格定义就可以做到这一点吗 #容器{ 显示:网格; 网格模板列:最小最大值(自动,100px)自动; 网格间距:5px; 高度:200px; 宽度:100%; 背景色:#8cffa0; 填充:10px; } #容器>分区{ 背景色:#C0; } Lorem ipsum d
#容器{
显示:网格;
网格模板列:最小最大值(自动,100px)自动;
网格间距:5px;
高度:200px;
宽度:100%;
背景色:#8cffa0;
填充:10px;
}
#容器>分区{
背景色:#C0;
}
Lorem ipsum dolor sit amet,奉献精英。
在这里,我要说的是,这是一个巨大的建筑设计师,必须要有足够的理由来防止腐败!尤斯托,普罗维登特。
使用网格模板列:调整内容(100px)
(请参阅)使用绝对长度将列宽调整到其内容(无最小值)的最大宽度(在这种情况下为100px)
#容器{
显示:网格;
网格模板列:自动调整内容(100px);
网格间距:5px;
高度:200px;
宽度:100%;
背景色:#8cffa0;
填充:10px;
}
#容器>分区{
背景色:#C0;
}
洛勒姆
在这里,我要说的是,这是一个巨大的建筑设计师,必须要有足够的理由来防止腐败!尤斯托,普罗维登特。
您面临的问题不是网格模板列
属性。简单地使用该属性,就可以折叠空列,这是有道理的
问题是您有一个最大宽度限制
根据此要求,grid template columns
和grid auto columns
无法单独完成此任务,因为在minmax()
规则中,参数默认为max
值
grid-template-columns: minmax(auto, 100px) auto
…空列的宽度始终为100px
如果没有最大宽度限制,可以使用隐式列(网格自动列
)而不是显式列(网格模板列
)隐藏空列
grid-*-columns
properties的范围之外工作,这里有一个可能适合您的解决方案:
.container{
显示:网格;
网格模板列:自动1fr;
网格间距:5px;
高度:100px;
背景色:#8cffa0;
填充:10px;
}
.container>div:第一个子项:非(:空){
最大宽度:100px;
}
.container>div{
背景色:#C0;
}
Lorem ipsum dolor sit amet,奉献精英。
在这里,我要说的是,这是一个巨大的建筑设计师,必须要有足够的理由来防止腐败!尤斯托,普罗维登特。
在这里,我要说的是,这是一个巨大的建筑设计师,必须要有足够的理由来防止腐败!尤斯托,普罗维登特。