CSS flex 屬性

定義和用法

flex 是以下屬性的簡寫屬性:

flex 設置的是彈性項目的彈性長度。

注釋:如果元素不是彈性項目,則 flex 屬性無效。

另請參閱:

教程: CSS 彈性框

參考:CSS flex-basis 屬性

參考:CSS flex-direction 屬性

參考:CSS flex-flow 屬性

參考:CSS flex-grow 屬性

參考:CSS flex-shrink 屬性

參考:CSS flex-wrap 屬性

參考:HTML DOM flex 屬性

實例

不管其內容如何,使所有彈性項目的長度均相同:

#main div {
  -ms-flex: 1; /* IE 10 */ 
  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。
initial 等同于 0 1 auto。參閱 initial
none 等同于 0 0 auto。
inherit 從其父元素繼承該屬性。參閱 inherit

技術細節

默認值: 0 1 auto
繼承:
動畫制作: 支持。請查看單獨的屬性。請參閱:動畫相關屬性
版本: CSS3
JavaScript 語法: object.style.flex="1"

更多實例

結合使用 flex 和媒體查詢為不同的屏幕尺寸/設備創建不同的布局:

.flex-container {
  display: flex;
  flex-wrap: wrap;
}
.flex-item-left {
  flex: 50%;
}
.flex-item-right {
  flex: 50%;
}
/* 響應式布局 - 制作單列布局(100%)而不是兩列布局(50%) */
@media (max-width: 800px) {
  .flex-item-right, .flex-item-left {
    flex: 100%;
  }
}

親自試一試

瀏覽器支持

表格中的數字注明了完全支持該屬性的首個瀏覽器版本。

帶 -webkit-、-ms- 或 -moz- 的數字表示使用前綴的首個版本。

Chrome IE / Edge Firefox Safari Opera
29.0
21.0 -webkit-
11.0
10.0 -ms-
28.0
18.0 -moz-
9.0
6.1 -webkit-
17.0