Css “设置说明”;弹性:1“;或;弹性增长:1“;在嵌套flex布局中的所有祖先节点上,假设flex属性不是分层的?

Css “设置说明”;弹性:1“;或;弹性增长:1“;在嵌套flex布局中的所有祖先节点上,假设flex属性不是分层的?,css,react-native,flexbox,flex-grow,Css,React Native,Flexbox,Flex Grow,我已经读过好几次了,要让flex-grow按预期工作,通常需要在元素的父元素、其父元素等上设置flex-grow:1(或flex:1) 这给我的印象是,在学习flexbox时,它具有某种层次性 但我刚刚了解到,所有的flow-*属性都不是分层的,只直接应用于容器及其直接子容器 我想,除了我之外,很多人都会受益于对flex属性的清晰解释,特别是flex grow如何与元素/组件层次结构交互,以及在祖先节点上设置属性以使布局正常工作时的实际操作 在React Native中,这可能是一个更大的问题,

我已经读过好几次了,要让
flex-grow
按预期工作,通常需要在元素的父元素、其父元素等上设置
flex-grow:1
(或
flex:1

这给我的印象是,在学习flexbox时,它具有某种层次性

但我刚刚了解到,所有的
flow-*
属性都不是分层的,只直接应用于容器及其直接子容器

我想,除了我之外,很多人都会受益于对flex属性的清晰解释,特别是
flex grow
如何与元素/组件层次结构交互,以及在祖先节点上设置属性以使布局正常工作时的实际操作

在React Native中,这可能是一个更大的问题,flex是布局的主要方法,布局可能涉及比web上常见的嵌套更深的嵌套

一个相关的因素,在我的案例中增加了混乱,是如何通过祖先手动传播
flex grow
,这种方式与
flex direction
,特别是在React Native中,通常在
之间交替

…用于在嵌套结构中的所有祖先节点上设置“flex:1”或“flex grow:1” 弹性布局

如果说“在所有祖先节点上”是不准确的,那么在所有后代节点上应该是就父/子而言,这意味着,
flex grow
是在子节点上设置的,而不是在父节点上设置的,但是由于一个元素既可以是父节点,也可以是子节点,因此通常调用嵌套的flex元素,如果父项也是子项,则它可以具有
flex grow

flex格式上下文在这里有一个很好的解释:


…在 使布局正常工作的祖先节点

同样,要说“在祖先节点上设置属性时,”是不准确的,您在后代节点上设置了属性


设置“flex:1”或“flex-grow:1”的说明。。。在嵌套flex中 布局

首先,设置
flex:1
等于
flex:10
flex-grow:1
等于
flex:11-auto
,这是基于
flex
默认值为
flex:01-auto
,这里解释得很清楚:


现在,
flex grow
默认为
0
,这意味着它不会大于其内容,类似于
内联块
元素的工作方式,因此呈现如下:

body{margin:0;}
.柔性容器{
显示器:flex;
高度:100vh;
}
.灵活父母{
显示器:flex;
}
.行方向{
弯曲方向:行;
}
.柱方向{
弯曲方向:立柱;
}
.灵活儿童{
保证金:2倍;
边框:1px灰色虚线;
}

第一行,第一项
第一行,第二项
第一行第三项
第二行,第一项
第二行,第二项
第三行,第一项
…用于在嵌套结构中的所有祖先节点上设置“flex:1”或“flex grow:1” 弹性布局

如果说“在所有祖先节点上”是不准确的,那么在所有后代节点上应该是就父/子而言,这意味着,
flex grow
是在子节点上设置的,而不是在父节点上设置的,但是由于一个元素既可以是父节点,也可以是子节点,因此通常调用嵌套的flex元素,如果父项也是子项,则它可以具有
flex grow

flex格式上下文在这里有一个很好的解释:


…在 使布局正常工作的祖先节点

同样,要说“在祖先节点上设置属性时,”是不准确的,您在后代节点上设置了属性


设置“flex:1”或“flex-grow:1”的说明。。。在嵌套flex中 布局

首先,设置
flex:1
等于
flex:10
flex-grow:1
等于
flex:11-auto
,这是基于
flex
默认值为
flex:01-auto
,这里解释得很清楚:


现在,
flex grow
默认为
0
,这意味着它不会大于其内容,类似于
内联块
元素的工作方式,因此呈现如下:

body{margin:0;}
.柔性容器{
显示器:flex;
高度:100vh;
}
.灵活父母{
显示器:flex;
}
.行方向{
弯曲方向:行;
}
.柱方向{
弯曲方向:立柱;
}
.灵活儿童{
保证金:2倍;
边框:1px灰色虚线;
}

第一行,第一项
第一行,第二项
第一行第三项
第二行,第一项
第二行,第二项
第三行,第一项

考虑发布一个带有代码的示例来说明您的问题。另外,看看这篇文章,它可能会给你一些启示:我的答案中有什么遗漏,我可以补充/调整,让你接受吗。。。或者根本没用?我一直在解决其他问题。即使有了你的回答,我也还没有完全了解情况。我必须等到我再次妥善解决这个问题。抱歉,如果你急着找代表。在我完全摸索之前,我从不接受。不,我不急着找代表……有足够的:)考虑向illus发布一个带有代码的示例