在mdn
flex:1
与…相同
flex-grow:1
。但是,实际上它在浏览器中有不同的显示。
您可以通过更改CSS中的注释在jsFiddle中进行尝试。
当我使用flex: 1
元素时,其类test-container
名将是,height:100%
但使用时不会发生flex-grow: 1
。
我不明白为什么。寻求帮助。非常感谢。
.flex-1 {
display: flex;
flex-direction: column;
height: 500px;
background: red;
}
.child-1 {
height: 50px;
background: blue;
}
.child-2 {
flex-grow: 1;
/* flex:1; */
background: green;
}
.test-container {
display: flex;
flex-direction: row;
background: white;
height: 100%;
}
<div class="flex-1">
<div class="child-1"></div>
<div class="child-2">
<div class="test-container"></div>
</div>
</div>
flex
该 flex
属性是设置的简写:
flex-grow
flex-shrink
flex-basis
该flex: 1
规则应对此进行计算:
flex-grow: 1
flex-shrink: 1
flex-basis: 0
这些值在规范中定义。参见7.1.1节。的基本价值flex
我之所以说 “应该计算” ,是因为在IE11和可能的其他浏览器中,度量单位(例如px
或%
)被附加到中的0
值flex- basis
。这可以有所作为。
flex-grow
该 柔性成长
属性(它在容器弯曲项目之间分配的可用空间),其本身的叶子声明时flex-shrink
,并flex-basis
在它们的初始值。
因此,当您设置时flex-grow: 1
,浏览器将呈现以下内容:
flex-grow: 1
覆盖默认值0flex-shrink: 1
这是默认值flex-basis: auto
这是默认值flex: 1
和之间的区别flex-grow: 1
最终,之间的区别flex: 1
,并flex-grow: 1
为前者套flex-basis: 0
,而后者保持默认flex-basis: auto
。
您在代码中看到差异的原因是flex-basis
控制列方向容器中的高度。
在Chrome中,使用时flex-basis: auto
,元素的高度为450px(父级为500px-标头为50px)。换句话说,flex- grow
可以自由分配自由空间。
使用flex-basis: 0
,元素的高度为0,并且flex-grow
没有可分配的自由空间。
通过阅读以上文章,您还将了解为什么代码在Firefox,Safari,Edge和IE中呈现不同的原因。
问题内容: 我最近开始使用flexbox,经常会遇到需要在主轴之间分配空间的情况。 我经常在和之间犹豫。例如,如果我要一项测量2个量度,而另一项测量100%,则我有两个选择。我可以设置和,或和。 有时,如果我希望一个元素扩大其余空间,我可以这样做或。 我该如何选择?使用width与flex-grow有什么区别/注意事项? 问题答案: 和是两个完全不同的CSS特性。 该属性用于定义元素的宽度。 该属
本文向大家介绍flex:1与flex:auto有什么区别?相关面试题,主要包含被问及flex:1与flex:auto有什么区别?时的应答技巧和注意事项,需要的朋友参考一下
设置 flex: 1 1 0 等于没设置 flex-basis 吗? 看到这个文章:https://zhuanlan.zhihu.com/p/39052660 flex-basis 是 0 就是 没设置? 但是当我设置为 0 的时候,和设置 auto 效果是不一样的 设置为 flex: 1 1 0 的时候,我的图片宽度是正常的 200 但是,设置为 flex: 1 1 auto 的时候,我的图片宽
问题内容: 似乎flex div中的内容会影响有关属性的计算大小。难道我做错了什么? 在下面提供的小提琴中,您将看到一个数字键盘。除底行外,所有行均包含3个数字。该行应将“ 0”表示为2个数字的宽度,因此flex-grow: 2,“:”(冒号)应为1个数字的大小,因此。 我在这里想念什么吗? “ 0”的右侧应与其上方的8、5和2对齐。有点不对劲 问题答案: 简短分析 问题在于,第1-3行有两个水平
问题内容: 我们都知道,柔性属性是一个速记,和属性。其默认值为。它的意思是: 但我注意到,在很多地方都使用过。是速记还是?我不明白这是什么意思?我在谷歌搜索中找不到任何东西。 问题答案: 这里是解释: flex: 等同于flex:10。使flex项目具有弹性,并将flex基础设置为零,从而使该项目接收flex容器中指定比例的可用空间。如果flex容器中的所有项目都使用此模式,则它们的大小将与指定的
问题内容: 我的问题是:使用有意义吗?在两个线程(main + oneAnotherThread)中,使用执行程序服务效率高吗?是否通过调用比使用ExecutorService更好地直接创建新线程?在这种情况下使用ExecutorService有什么好处和坏处? PS:主线程和oneAnotherThread不访问任何公共资源。 我经历了:使用ExecutorService有什么优势?。一次只能有