Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.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_Flexbox_Centering - Fatal编程技术网

Css 为什么弹性项目仅限于父级尺寸?

Css 为什么弹性项目仅限于父级尺寸?,css,flexbox,centering,Css,Flexbox,Centering,考虑到下面的例子 正文{ 保证金:0; } * { 框大小:边框框; } .家长{ 最小高度:100vh; 宽度:50vw; 保证金:0自动; 边框:1px纯红; 显示器:flex; 对齐项目:居中; 证明内容:中心; } .孩子{ 边框:1px纯蓝色; 宽度:150%; } 知识是一种美德,是一种美德,是一种美德,是一种美德。埃米特·泰卢斯·克拉皮斯正在为欧盟turpis做准备。内克·阿利奎姆·莫比·布兰迪特前庭。Sem integer vitae justo eget magna。 <

考虑到下面的例子

正文{
保证金:0;
}
* {
框大小:边框框;
}
.家长{
最小高度:100vh;
宽度:50vw;
保证金:0自动;
边框:1px纯红;
显示器:flex;
对齐项目:居中;
证明内容:中心;
}
.孩子{
边框:1px纯蓝色;
宽度:150%;
}

知识是一种美德,是一种美德,是一种美德,是一种美德。埃米特·泰卢斯·克拉皮斯正在为欧盟turpis做准备。内克·阿利奎姆·莫比·布兰迪特前庭。Sem integer vitae justo eget magna。

< /代码> 您需要考虑<代码> flex缩缩< /代码>。正如你所看到的:

flex-shrink CSS属性指定 弹性项目。弹性物品将收缩以填充容器根据 当弹性项目的默认大小较大时,弹性收缩数 比flex容器要大

正文{
保证金:0;
}
* {
框大小:边框框;
}
.家长{
最小高度:100vh;
宽度:50vw;
保证金:0自动;
边框:1px纯红;
显示器:flex;
对齐项目:居中;
证明内容:中心;
}
.孩子{
边框:1px纯蓝色;
宽度:150%;
弹性收缩:0;/*已添加此*/
}

知识是一种美德,是一种美德,是一种美德,是一种美德。埃米特·泰卢斯·克拉皮斯正在为欧盟turpis做准备。内克·阿利奎姆·莫比·布兰迪特前庭。Sem integer vitae justo eget magna。

为什么它会超出其父级?@VXp,为什么不?显然是默认行为。解决问题的方法是使用
min width
而不是
width
,官方原因仍然不清楚。@TemaniAfif,因为您不希望容器包含比自身更大的内容。默认情况下允许这样做,就能够理解布局而言,简直是疯狂;它降低了您预测实际渲染大小的能力,使您无法知道渲染的每个对象的大小。有关W3C@AndreiGheorghiu的更多信息,我还添加了另一个有趣的链接,详细介绍了这一点behavior@dippas还有Afif。即使现在,正如你所指出的,它很明显是“在规格中描述的”,我仍然觉得它很反直觉:我的意思是,当人们希望孩子的生长超过父宽度时,为什么需要将
flex-shrink
设置为特定值?当教学生flexbox时,你需要从“你将听到的没有多大意义,但是……”开始,对吗?这是第二句话的最后一句话,给出了实际的原因,但这对未来的学生来说是很难理解的。一个flexbox获得了答案。:)@AndreiGheorghiu我同意这一点,从一开始就很直观。。。但如果我们的想法不同呢?人们总是抱怨由于宽度导致的溢出:当他们忘记框大小、边框或边距等时,100%+填充。。。所以我认为Flexbox附带这个解决方案最初是为了避免这种情况,默认情况下,他们将flex shrink设置为1。。。如果你现在想完全理解的话,你必须去激活它。Flex从宽度开始,从宽度开始创建Flex基础。然后,它会尝试将所有flex子级放入flex父级中。由于子对象可以收缩,因此它会收缩,并且只有在无法收缩时才会保持
width
的值。