此问题在此处已有答案:
Why doesnt percentage height work in HTML/CSS?(7个答案)
Equal height rows in CSS Grid Layout(2个答案)
How do I specify row heights in CSS Grid layout?(4个回答)
5天前关闭。
不像预期的那样:
.cont {
display: grid;
grid-template-rows: 33% 33% 33%;
grid-template-columns: 33% 33% 33%;
}
.cont > div {
outline: 1px solid red;
}
个字符
所以很明显,预期的结果将是一个井字格一样的网格相等的正方形。然而,高度与每个div的内容相同,我有9个。我尝试了在容器div和单个div中设置高度为100%的一切,它总是不考虑内容。问题是不同的正方形将是空的或在不同的时间有内容。如果我在行上设置特定的高度,250px它工作正常,但它不会与百分比的某些原因工作。我只是想9个相等的正方形,无论浏览器的高度和宽度在px。你会认为这不会那么困难。
3条答案
按热度按时间r7s23pms1#
为了填满屏幕(而不是超过它),列/行的最大大小是视口高度的1/3。
因此,我们将列宽度设置为
33.33vh
(viewport高度的1/3),并在子列上使用aspect-ratio
以确保它们保持方形。个字符
axkjgtzd2#
像下面这样做:
个字符
jm81lzqq3#
如果你想让容器填充高度,我会使用
height: 100vh
,这样div就会是viewport的高度。为了演示的目的,我在容器中添加了子元素。网格子元素将自动填充其网格单元格。
此外,如果您希望列和行均匀分布,可以使用
repeat()
,它将设置列/行的数量以及每个列/行的大小。你可以阅读更多关于
repeat()
here.阅读更多关于
vh
测量单位here的信息。个字符