当前位置: 首页 > 面试题库 >

嵌套flex容器时正确使用flex属性

赫连方伟
2023-03-14
问题内容

我在正确使用flexbox时遇到问题,想澄清一下嵌套父元素和子元素的工作方式。

我知道孩子继承了父母的弹性。但是,如果您需要为孩子的孩子(孩子)抚养孩子,这会被覆盖吗?flexbox的正确用法是什么?

我什么时候都适用display: flex于孩子 孩子(婴儿)的缘故,或将是覆盖孩子的父母柔性?

.parent-container {

  display: flex;

  flex: 1 0 100%;

  background-color:yellow;

}

.child-container {

  flex: 1 1 50%

  background-color: blue;

}

.baby-of-child-container {

  flex: 1 1 50%;

  background-color: green;

}


<div class='parent-container'>

  <div class='child-container'>

    <div class='baby-of-child-container'>child</div>

    <div class='baby-of-child-container'>child</div>

  </div>

  <div class='child-container'>

    <div class='baby-of-child-container'>child</div>

    <div class='baby-of-child-container'>child</div>

  </div>

</div>

问题答案:

一个范围 柔性格式化的内容被限制在一个父/子关系。

这意味着弹性容器始终是父容器,而弹性项目始终是子容器。Flex属性仅在此关系内起作用。

子代以外的flex容器的后代不是flex布局的一部分,并且不接受flex属性。

您始终需要向父级应用display: flexdisplay: inline-flex向父级应用,才能将flex属性应用于子级。

有迹象表明,仅适用于柔性容器(例如,某些弯曲特性justify-contentflex-wrapflex- direction),并有只适用于弯曲的物品一定弯曲特性(例如align-selfflex-growflex)。

但是,伸缩项目也可以是伸缩容器。在这种情况下,该元素可以接受所有的flex属性。由于每个属性执行不同的功能,因此不存在内部冲突,也不需要覆盖任何内容。



 类似资料:
  • 要在应用程序中使用Flexbox,您需要使用display属性创建/定义Flex容器。 Usage - display: flex | inline-flex 此属性接受两个值 flex - 生成块级弹性容器。 inline-flex - 生成内联flex容器框。 现在,我们将看到如何使用display属性和示例。 Flex 将此值传递给display属性时,将创建块级Flex容器。 它占用父容

  • 我在根容器的第二个flex项中有一个嵌套的flex容器的行布局。我希望嵌套的flex容器是其父容器使用高度的100%。 下面是演示这个问题的小提琴:http://jsfidle.net/2zdue/316/ 如果我为嵌套的flex容器设置一个显式的高度,那么一切都正常工作。 如何告诉嵌套容器自动填充其容器的垂直空间?

  • 我面临的问题与这个问题几乎相同: 如何防止弹性项因其文本而溢出 这个解决方案非常有效: (jsFiddle版本) 但是,如果我将显示的div放入带有的div中,我的问题又回来了。 下面是不起作用的完整代码。这个问题和上面的问题完全一样。

  • 介绍 (Introduction) UIComponent类是所有可视组件的基类,包括交互式和非交互式。 Class 声明 (Class Declaration) 以下是mx.core.UIComponent类的声明 - public class UIComponent extends FlexSprite implements IAutomationObject, IChild

  • flex-direction属性用于指定需要放置flex容器(flex-items)元素的方向。 usage - flex-direction: row | row-reverse | column | column-reverse 此属性接受四个值 - row - 从左到右水平排列容器的元素。 row-reverse - 从右到左水平排列容器的元素。 column - 从左到右垂直排列容器的元

  • 我知道这些帖子: 在flexbox中防止子元素溢出其父元素 flex子节点上的文本溢出省略号不工作 为什么flex项不缩小过去的内容大小? 没有答案从那里修复我在下面的代码片段中的问题。这是html树: 父柔性柱 子柔性行 标签flex(因此我可以垂直对齐文本) 我能让它工作的唯一方法是将标签设为,但我真的希望保留flex。 我已经做了: 关于儿童: 设置 设置 设置溢出:隐藏 设置