Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在CSS网格布局中,我们是否从隐式网格线开始计算跨度?_Css_Css Grid - Fatal编程技术网

在CSS网格布局中,我们是否从隐式网格线开始计算跨度?

在CSS网格布局中,我们是否从隐式网格线开始计算跨度?,css,css-grid,Css,Css Grid,这个问题是关于CSS网格是否“跨度计数”——是否应该从隐式网格线开始。在中国,据说 方框4是事情真正变得有趣的地方。它在第五行结束,也就是说第二条隐式网格线。它跨越了三条线,但是,它仍然从与box3相同的网格线开始。这是因为跨距必须在显式网格中开始计数。一旦开始,它们就可以继续进入隐式网格(如box2所示),但它们不能在隐式网格内开始计数 这是真的吗?还是规格有变化?“跨度计算”可以在隐式网格内开始吗 书中使用的代码有点混乱: .box04 {grid-column: 4; grid-row:

这个问题是关于CSS网格是否“跨度计数”——是否应该从隐式网格线开始。在中国,据说

方框4是事情真正变得有趣的地方。它在第五行结束,也就是说第二条隐式网格线。它跨越了三条线,但是,它仍然从与box3相同的网格线开始。这是因为跨距必须在显式网格中开始计数。一旦开始,它们就可以继续进入隐式网格(如box2所示),但它们不能在隐式网格内开始计数

这是真的吗?还是规格有变化?“跨度计算”可以在隐式网格内开始吗

书中使用的代码有点混乱:

.box04 {grid-column: 4; grid-row: span 2 / 5;}
使用时:

(所以我确实看到它从第5行网格线开始计数,然后从这个隐式网格线5开始向后计数4步,,规则是“我们不应该从隐式网格线开始计数”。那么规则改变了吗?或者规则不是这样的意思?)

为了得到书上的结果,它需要是
4/5
,而不是
2/5
,书中的文字是“跨越后三行”——它不应该跨越后四行还是两行?如果我们不能计算隐式网格,那么它实际上应该是
2/5
,但是如果我们可以计算隐式网格,那么它应该是
4/5
。那么规格有变化吗?“三行”很可能是打字错误?所以如果我们需要跨越4,那么这可能意味着我们从隐式或显式网格线开始计算

代码有点长,但我们可以只看一下
box04

html{
背景:DDD;
}
身体{
填料:2米;
保证金:0;
框大小:边框框;
背景:白色;
}
ul.grid{
填充:0;
保证金:0;
}
.方格{
边框:1px纯黑;
}
.方格线{
填充:1px 0 0 1px;
}
.grid.small*[class^=“box”]{
字号:1em;
字体大小:正常;
填充:0.25em;
边界宽度:0.167em;
}
*[class^=“box”]{
边界:0.33em实心;
字体:粗体2em Arvo,无衬线;
显示器:flex;
对齐项目:居中;
证明内容:中心;
}
*[class^=“box”][class*=“01”]{
颜色:rgb(255,0,0);
背景:rgba(255,0,0,0.1);
}
*[class^=“box”][class*=“02”]{
颜色:rgb(255、128、0);
背景:rgba(255,128,0,0.15);
}
*[class^=“box”][class*=“03”]{
颜色:rgb(216168,0);
背景:rgba(216,168,0,0.2);
}
*[class^=“box”][class*=“04”]{
颜色:rgb(0,128,0);
背景:rgba(0,128,0,0.1);
}
*[class^=“box”][class*=“05”]{
颜色:rgb(0,0,255);
背景:rgba(0,0,255,0.1);
}
*[class^=“box”][class*=“06”]{
颜色:rgb(128,0,128);
背景:rgba(128,0,128,0.1);
}
span[class*=“网格线”]{
边框:1px虚线;
保证金:-1px0-1px;
}
/*用于打印预览/制作
主体:悬停{过滤器:饱和(0%);}
*/
#网格{
网格自动行:2米;
网格自动列:5em;
宽度:35em;
}
#网格{
显示:网格;
网格模板行:2em 2em;
网格模板列:重复(6,4em);
}
.box01{
网格柱:1;
网格行:1/4;
}
.box02{
网格柱:2;
网格排:3个/跨度2;
}
.box03{
网格柱:3;
网格行:跨度2/3;
}
.box04{
网格柱:4;
网格行:跨度4/5;
}
.box05{
网格柱:5;
网格行:跨度6/5;
}
.box06{
网格柱:6;
网格行:-1/跨度3;
}
.box07{
网格柱:7;
网格行:跨度3/-1;
}
span[class*=“box”]{
z指数:1;
}
span.explicit{
背景:DDD;
网格面积:1/1/3/7;
}

1.
2.
3.
4.
5.
6.
7.
“跨度计算”可以在隐式网格内开始吗

不,我们开始考虑显式网格,而不是隐式网格。关注单词start,这是最重要的,因为显式网格始终是引用,而隐式网格只是为了包含所有内容而创建的额外列/行的结果

我不能考虑隐式网格,因为我们很容易遇到未定义的行为。

开始考虑显式网格并不一定意味着我们将在显式网格内。读到最后才能理解这一部分


发件人:

网格放置属性中的数字索引从显式网格的边缘开始计数。正索引从起始端开始计数(对于起始最显式行,从1开始),而负索引从结束端开始计数(对于结束最显式行,从-1开始)

当网格项位于这些边界之外时,网格容器通过向网格添加隐式网格线生成隐式网格轨迹


让我们举一些例子来更好地理解

这是一个包含3个显式行(4行)且未创建隐式行的网格:

.box{
显示:网格;
网格间距:5px;
网格模板行:重复(3,50px);
网格模板列:重复(3,1fr);
网格自动行:200px;/*永远不会使用该行*/
边框:1px实心;
}
.a{
网格行:跨度2/3;
背景:红色;
}
.b{
网格行:跨度2/4;
背景:红色;
}
c{
网格行:1/4;
背景:红色;
}


评论不用于扩展讨论;这段对话已经结束。今年早些时候,你让我回顾你的答案并提供一些反馈。我终于抽出时间仔细阅读了整个帖子(包括聊天)。抱歉耽搁了。在我看来,关于这个问题的一切都是模糊和不清楚的。我并不是说这是一个糟糕的问题(我真的说不出来)。至少,这些材料深奥难懂。在多次阅读问答和聊天部分后,我仍然不完全理解这个问题。@MichaelBenjamin感谢您的评论。这里的主要问题是试图理解我们是否可以开始
.box04 {grid-column: 4; grid-row: span 4 / 5;}