如何自动获取css网格中的所有可用空间
我很难理解CSS网格行是如何工作的。为什么列从左到右展开,而行不展开如何自动获取css网格中的所有可用空间,css,css-grid,Css,Css Grid,我很难理解CSS网格行是如何工作的。为什么列从左到右展开,而行不展开 .grid{ 位置:绝对位置; 高度:50vh; 宽度:30vw; 边框:1px纯黑; 顶部:计算(50%-30vh); 左:计算值(50%-15vw); } .钥匙{ 显示:网格; 网格模板列:重复(3,1fr); 网格模板行:重复(4,1fr); } .按键>按钮{ 字体大小:30px; 文本对齐:居中; 线高:30px; 边框:1px纯黑; } 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
.grid{
位置:绝对位置;
高度:50vh;
宽度:30vw;
边框:1px纯黑;
顶部:计算(50%-30vh);
左:计算值(50%-15vw);
}
.钥匙{
显示:网格;
网格模板列:重复(3,1fr);
网格模板行:重复(4,1fr);
}
.按键>按钮{
字体大小:30px;
文本对齐:居中;
线高:30px;
边框:1px纯黑;
}
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
您的.grid
中的.key
未设置为展开整个网格
元素
您需要确保grid div中的所有div都设置为填充整个容器,以便子容器也这样做
将height:100%
添加到密钥容器将解决此问题
您需要添加以下代码
.keys {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(4, 1fr);
height: 100%;
}
或者,您可以一起去掉网格中的样式,并将其中的所有CSS移动到keys元素。这样,就不需要像这样设置高度
.keys {
display: grid;
position: absolute;
height: 50vh;
width: 30vw;
border: 1px solid black;
top: calc(50% - 30vh);
left: calc(50% - 15vw);
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(4, 1fr);
}
当使用fr
作为维度时,它将始终填充父容器的一小部分<代码>重复(4,1fr)
会将元素的尺寸设置为父容器的25%,无论是宽度还是高度。您的。键位于内。网格未设置为扩展整个网格
元素
您需要确保grid div中的所有div都设置为填充整个容器,以便子容器也这样做
将height:100%
添加到密钥容器将解决此问题
您需要添加以下代码
.keys {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(4, 1fr);
height: 100%;
}
或者,您可以一起去掉网格中的样式,并将其中的所有CSS移动到keys元素。这样,就不需要像这样设置高度
.keys {
display: grid;
position: absolute;
height: 50vh;
width: 30vw;
border: 1px solid black;
top: calc(50% - 30vh);
left: calc(50% - 15vw);
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(4, 1fr);
}
当使用fr
作为维度时,它将始终填充父容器的一小部分repeat(4,1fr)
会将元素的尺寸设置为父容器的25%,无论是宽度还是高度。我想如果你从CSS中删除这些,你会发现高度:50vh;宽度:30vw代码>网格的宽度和高度将根据元素的大小(数量)进行调整。使用块级元素,全宽是自动的。全高不是。我想你会发现,如果你把这些从你的CSSheight:50vh;宽度:30vw代码>网格的宽度和高度将根据元素的大小(数量)进行调整。使用块级元素,全宽是自动的。全高不是。