成为弹性商品的唯一条件是弹性容器的流入子代。
请注意,这意味着可以将连续的文本包装在不与任何元素对应的匿名flex项目中,并且如果满足以下任意条件,则flex容器的子元素可能不是flex项目
flex容器的绝对定位的子级不参与flex布局。
元素本身不会生成任何框,但是其子元素和伪元素仍会正常生成框。出于框生成和布局的目的,必须将元素视为在文档树中已被其子元素和伪元素替换的情况。
它的子项将变为弹性项(除非此列表中的某些内容适用于它们)。
元素及其后代不生成任何框。
该元素根本不生成任何框。
元素会正常生成框,但是这些框不会以任何方式参与布局,并且不得显示。
除此之外,是的,该display
值不应阻止元素成为弹性项目。
请注意,弹性项目已被阻塞],因此例如inline- block
变为block
,inline-table
变为table
,inline-flex
变为flex
等等。
这意味着,无论指定了什么外部显示角色,弹性项目都将始终处于块级。
基本上,该display
属性在弹性项目上使用时,仅可用于设置其内部显示布局模型,例如,您希望将弹性项目作为其内容的弹性容器。
一个柔性的项目确立了其内容的新的格式化的内容。格式化上下文的类型display
通常由其值确定 。但是,弹性项目本身是 _弹性级别的_框,而不是块级的框:它们参与其容器的flex格式上下文,而不是块格式上下文。
(术语有所不同,Display规范表示从外部显示角色的角度来看,flex项是块级别的,Flex@R_145_2419@规范表示从其参与的格式化上下文不是一)