CSS flex 属性
定义和用法
flex 是以下属性的简写属性:
flex 设置的是弹性项目的弹性长度。
注释:如果元素不是弹性项目,则 flex 属性无效。
另请参阅:
CSS 教程: CSS 弹性框
CSS 参考手册:flex-basis 属性
CSS 参考手册:flex-direction 属性
CSS 参考手册:flex-flow 属性
CSS 参考手册:flex-grow 属性
CSS 参考手册:flex-shrink 属性
CSS 参考手册:flex-wrap 属性
HTML DOM 参考手册:flex 属性
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 |