CSS flex 属性

CSS 参考手册 CSS 参考手册


让所有弹性盒模型对象的子元素都有相同的长度,忽略它们内部的内容:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <style>
    #main {
      width: 220px;
      height: 300px;
      border: 1px solid black;
      display: flex;
    }

    #main div {
      flex: 1;
    }
  </style>
</head>
<body>

  <div id="main">
    <div style="background-color:coral;">红色</div>
    <div style="background-color:lightblue;">蓝色</div>
    <div style="background-color:lightgreen;">带有更多内容的绿色 div</div>
  </div>

  <p><b>注意:</b> Internet Explorer 9 及更早版本不支持 flex 属性。</p>
  <p><b>注意:</b> Internet Explorer 10 通过 -ms-flex 属性来支持。 IE11 及更新版本完全支持 flex 属性 (不需要 -ms- 前缀)。</p>
  <p><b>注意:</b> Safari 6.1 (及更新浏览器) 通过 -webkit-flex 属性支持。</p>

</body>
</html>

尝试一下 »


浏览器支持

表格中的数字表示支持该属性的第一个浏览器的版本号。

紧跟在 -webkit-, -ms- 或 -moz- 后的数字为支持该前缀属性的第一个版本。

属性
flex 29.0
21.0 -webkit-
11.0
10.0 -ms-
28.0
18.0 -moz-
9.0
6.1 -webkit-
17.0

定义和用法

flex 属性用于设置或检索弹性盒模型对象的子元素如何分配空间。

flex 属性是 flex-grow、flex-shrink 和 flex-basis 属性的简写属性。

注意:如果元素不是弹性盒模型对象的子元素,则 flex 属性不起作用。

<!DOCTYPE html>
<html>
<head>
  <style>
    #myDIV {
      width: 220px;
      height: 300px;
      border: 1px solid black;
      display: flex;
    }
  </style>
</head>

<body>

  <p>点击“尝试一下”按钮设置 "myDIV" 元素内的所有 DIV 元素的 flex 属性。</p>

  <button onclick="myFunction()">尝试一下</button>

  <div id="myDIV">
    <div style="background-color:coral;">红色</div>
    <div style="background-color:lightblue;">蓝色</div>
    <div style="background-color:lightgreen;">带有更多内容的绿色 div</div>
  </div>

  <script>
    function myFunction() {
      var x = document.getElementById("myDIV");
      var y = x.getElementsByTagName("div");
      for (i = 0; i < y.length; i++) {
        y[i].style.flex = "1";
      }
    }
  </script>

</body>
</html>

尝试一下 »

默认值: 0 1 auto
继承:
可动画化: 是,参见个别的属性。请参阅 可动画化(animatable)
版本: CSS3
JavaScript 语法: object.style.flex="1" - 尝试一下 -

CSS 语法

flex: flex-grow flex-shrink flex-basis|auto|initial|inherit;

属性值

描述
flex-grow 一个数字,规定项目将相对于其他灵活的项目进行扩展的量。
flex-shrink 一个数字,规定项目将相对于其他灵活的项目进行收缩的量。
flex-basis 项目的长度。合法值:"auto"、"inherit" 或一个后跟 "%"、"px"、"em" 或任何其他长度单位的数字。
auto 与 1 1 auto 相同。
none 与 0 0 auto 相同。
initial 设置该属性为它的默认值,即为 0 1 auto。请参阅 initial
inherit 从父元素继承该属性。请参阅 inherit

相关文章

CSS 参考手册:flex-basis 属性

CSS 参考手册:flex-direction 属性

CSS 参考手册:flex-flow 属性

CSS 参考手册:flex-grow 属性

CSS 参考手册:flex-shrink 属性

CSS 参考手册:flex-wrap 属性


CSS 参考手册 CSS 参考手册