box-flex

非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。

已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。

警告:这是一个用于控制 XUL 盒模型部件的属性。它与旧的 CSS 弹性盒布局模块草案中的 box-flex(基于此属性)或 -webkit-box-flex 的行为(基于这些草案)都不匹配。有关当前标准的信息,请参阅弹性盒布局

-moz-box-flex-webkit-box-flex CSS 属性指定 -moz-box-webkit-box 如何在其包含盒的布局方向上增长以填充包含它的盒。

语法

css
/* <number> values */
-moz-box-flex: 0;
-moz-box-flex: 2;
-moz-box-flex: 3.5;
-webkit-box-flex: 0;
-webkit-box-flex: 2;
-webkit-box-flex: 3.5;

/* Global values */
-moz-box-flex: inherit;
-moz-box-flex: initial;
-moz-box-flex: revert;
-moz-box-flex: revert-layer;
-moz-box-flex: unset;
-webkit-box-flex: inherit;
-webkit-box-flex: initial;
-webkit-box-flex: revert;
-webkit-box-flex: revert-layer;
-webkit-box-flex: unset;

box-flex 属性被指定为一个<number>。如果值为 0,则盒不增长。如果大于 0,则盒按比例增长以填充可用空间的一部分。

注意

包含盒根据每个内容元素的 flex 值按比例分配可用的额外空间。

flex 值为零的内容元素不增长。

如果只有一个内容元素的 flex 不为零,则它会增长以填充可用空间。

具有相同 flex 的内容元素以相同的绝对量增长。

如果 flex 值是使用元素的 flex 属性设置的,则样式将被忽略。

要使包含盒中的 XUL 元素大小相同,请将其包含盒的 equalsize 属性设置为 always。此属性没有相应的 CSS 属性。

使包含盒中所有内容元素大小相同的一个技巧是,给它们都设置一个固定大小(例如,height: 0),并设置相同的 box-flex 值且大于零(例如,-moz-box-flex: 1)。

正式定义

初始值0
应用于CSS display 值为 -moz-box-moz-inline-box-webkit-box-webkit-inline-box 的元素的直接子元素
继承性
计算值同指定值
动画类型离散

正式语法

box-flex = 
<number>

示例

设置 box-flex

html
<div class="example">
  <p>I will expand to fill extra space</p>
  <p>I will not expand</p>
</div>
css
div.example {
  display: -moz-box;
  display: -webkit-box;
  border: 1px solid black;
  width: 100%;
}
div.example > p:nth-child(1) {
  -moz-box-flex: 1; /* Mozilla */
  -webkit-box-flex: 1; /* WebKit */
  border: 1px solid black;
}
div.example > p:nth-child(2) {
  -moz-box-flex: 0; /* Mozilla */
  -webkit-box-flex: 0; /* WebKit */
  border: 1px solid black;
}

规范

不属于任何标准。

浏览器兼容性

另见