CSS3 box-flex 属性

定义两个灵活的p元素。如果父级box的总宽度为300px,#P1将有一个100px的宽度,#P2将有一个200px的宽度:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <style>
    div {
      display: -moz-box;
      /* Firefox */
      display: -webkit-box;
      /* Safari and Chrome */
      display: -ms-flexbox;
      /* Internet Explorer 10 */
      display: box;
      width: 300px;
      border: 1px solid black;
    }

    #p1 {
      -moz-box-flex: 1.0;
      /* Firefox */
      -webkit-box-flex: 1.0;
      /* Safari and Chrome */
      -ms-flex: 1.0;
      /* Internet Explorer 10 */
      box-flex: 1.0;
      border: 1px solid red;
    }

    #p2 {
      -moz-box-flex: 2.0;
      /* Firefox */
      -webkit-box-flex: 2.0;
      /* Safari and Chrome */
      -ms-flex: 2.0;
      /* Internet Explorer 10 */
      box-flex: 2.0;
      border: 1px solid blue;
    }
  </style>
</head>
<body>

  <div>
    <p id="p1">Hello</p>
    <p id="p2">W3Schools</p>
  </div>

  <p><b>注意:</b> Flexible boxes不兼容于 IE 9以及更早版本的浏览器</p>

</body>
</html>

尝试一下 »


浏览器支持

Internet ExplorerFirefoxOperaGoogle ChromeSafari

目前主流浏览器不支持 box-flex 属性。

Internet Explorer 10 通过私有属性 the -ms-flex 支持.

Firefox通过私有属性 -moz-box-flex 支持.

Safari和Chrome通过私有属性 -webkit-box-flex 支持.

注意: Internet Explorer 9及更早IE版本不支持弹性框.


属性定义及使用说明

box-flex属性指定box的子元素是否灵活或固定的大小。

提示: 随着box收缩和增长,元素是否灵活的收缩或增长。每当有额外的空间,在box里,元素灵活的扩大来填补这一空间。

默认值: 0.0(表示该元素是不灵活的)
继承: no
版本: CSS3
JavaScript 语法: object.style.boxFlex=2.0

语法

box-flex: value;

描述
value 元素的灵活性。所有Flex都是相对的