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

了解弹性增长

邵文乐
2023-03-14
问题内容

我有3个div,如果我给出flex: 0.5前两个div,则如果给出了,最后一个div应该移到下一行flex-wrap: wrap。如果我错了,请更正。

以下是我的html / css:

.parent {

  display: flex;

  height: 100px;

  background-color: red;

  flex-wrap: wrap;

}

.child-1 {

  background-color: green;

  flex: 0.5;

}

.child-2 {

  background-color: yellow;

  flex: 0.5;

}

.child-3 {

  background-color: pink;

}


<div class="parent">

  <div class="child-1">LOREN IPSUM LOREN IPSUM</div>

  <div class="child-2">LOREN IPSUMLOREN IPSUMLOREN IPSUM</div>

  <div class="child-3">LOREN IPSUMLOREN IPSUM</div>

</div>

提前致谢。


问题答案:

flex-grow属性旨在在弹性项目之间分配容器中的自由空间。

不适 用于直接或精确调整弹性项目的大小。

从 规格:

flex-grow …确定当分配正的自由空间时,flex项目相对于flex容器中其余flex项目将增长多少。

因此,flex-grow不会强迫物品包装。这是您的示例flex-grow:1000:demo

要定义一个柔性的项目使用的长度widthheightflex-basis

讲解 flex-grow: 0.5

申请时flex:0.5,您使用的是flexshorthand属性,它是这样说的:

  • flex-grow: 0.5
  • flex-shrink: 1
  • flex-basis: 0

flex-grow成分代表比例。在这种情况下,它告诉弹性项目占用 容器中相对flex-grow于其同级因素的一半可用空间

因此,例如,如果容器为width: 600px且三个div的总宽度为450px,则将在可用空间(demo)中留下150px

如果每个项目都有flex-grow: 1,则每个项目将占用50px的额外空间,并且每个项目将计算为width: 200px(demo)。

但是在您的代码中,有两个项目具有flex-grow: 0.5,而最后一个项目具有flex-grow: 0,因此这是分解的方式:

  • div#1将获得75px(可用空间的一半)
  • div#2将获得75px(可用空间的一半)
  • div#3将获得0(因为它flex-grow是0)

现在是这些计算值:

  • div#1 = width: 225px
  • div#2 = width: 225px
  • div#3 = width: 150px

.parent {

  display: flex;

  flex-wrap: wrap;

  height: 100px;

  background-color: red;

  width: 600px;

}



.parent > div {

  flex-basis: 150px;

}



.child-1 {

  flex: 0.5;

  background-color: green;

}



.child-2 {

  flex: 0.5;

  background-color: yellow;

}



.child-3 {

  background-color: pink;

}


<div class="parent">

  <div class="child-1">LOREN IPSUM LOREN IPSUM</div>

  <div class="child-2">LOREN IPSUMLOREN IPSUMLOREN IPSUM</div>

  <div class="child-3"> LOREN IPSUMLOREN IPSUM</div>

</div>

注意:事实的真相是,因为div#1和#2具有相同的flex- grow因子,而div#3的因子为0,所以该值无关紧要。您可以使用任何数字替换0.5。只要两个div中的相同,这些项目的计算结果就将变为225px,因为比例是相同的。



 类似资料:
  • 问题内容: 给定下面的python代码,请帮助我了解那里发生的事情。 所以我得到了和之间的区别,在第5行中,我通过强制转换将持续时间取整,现在又有什么进一步的解释? 我知道delta是什么意思(平均值或差值),但是为什么我必须传递给delta以及为什么字符串转换效果如此之好以至于我得到了? 问题答案: 因为timedelta的定义如下: 所有参数都是可选的,默认为0。 您可以轻松地通过可选参数说出

  • 很抱歉,但是ES的文档(http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index.html)让我感到困惑。 多亏了术语表,我理解了数据库、表和行的术语,但我阅读了文档的大部分部分,但我找不到答案: 为什么需要在索引创建中添加和?我确实在这里查看了http://www.elasticsearch.org/g

  • 我试图增加Amazon弹性Beanstalk的超时,但我仍然得到504网关超时。 以下是我目前所做的工作: 尽管如此,我仍然得到一个“504网关超时”后正好60.1秒。 我错过了什么能让它发挥作用的?

  • 本文向大家介绍Android SpringAnimation弹性动画解析,包括了Android SpringAnimation弹性动画解析的使用技巧和注意事项,需要的朋友参考一下 也许你想在Android上实现这种反弹的动画效果。Android Support Library 25.3.0引入了Dynamic-animation增强动画,里面提供了几个类用于使动画呈现实现真实的物理效果。 你会想,

  • 之前我们介绍过,响应式网站设计主要包括三部分:弹性布局、媒体查询和弹性媒介。我们分别了解下这几个。 弹性布局 所谓的弹性布局,说的是在创建网站的时候,采用流体网格布局方式,动态地调整网站布局宽度以此来适应各种设备屏幕大小。 弹性布局不使用固定的测量单位,比如像素或者英寸。原因显而易见,视窗( viewport )的高度和宽度在不同设备之间是不断变化的,那么弹性网站布局为了适应这种变化,所以就不可能

  • 两个div弹性布局,左边宽度自适应且距离右边div10px,右边的div也是弹性布局且右边的div超出换行,左边的div跟右边div的第一行对齐