在对 CSS网格布局进行一些探索性修改时,我尝试定义一个 3列网格,该范围跨越两个项目,其中第一项跨越两列,而第二项跨越第三列。我还试图使该网格成为屏幕的2/3中的元素垂直向下填充网格堆栈,具体取决于网格中包含的子元素的数量。 (动态填充)。
我遇到麻烦的部分是我能够在第二项(在第三列中)设置grid-row-start
和grid-row-end
值的方式,使我能够做到跨越网格中所有行的整个长度( 包括隐式创建的行 )。
在这个小提琴(https://jsfiddle.net/voqgxz53/8/中,我展示了使项目#3跨所有 明确 定义的行的能力,但是正如您所看到的,则已创建 隐式 的第四行,但第3条没有跨越该行。
我知道如何使用Flex框执行此操作(我可以在水平Flex容器中创建两个大小相等的项目,其中第一项是动态向下填充的垂直Flex容器,第二项是适合单个元素的元素到整个垂直Flex容器的高度)。
但是,我想测试CSS网格的限制,所以想看看像这样的网格是否可行。
注意:我曾尝试使用grid-auto-rows
,但是只要我不明确设置网格之前的行数,它就会显示grid-row-end: -1
该项目仅跨越单个行。
这是CSS网格的工作方式吗?有没有我不知道的可行解决方案?是否有可能这实际上是 CSS网格布局的错误?