CSS3—弹性盒子flexbox

伸缩布局盒模型和术语

  • 可以以任何伸缩方向(向左、向右、向下,甚至是向上!)配置
  • 可以在样式层(也就是视觉顺序可以跟源码、语音顺序无关)调换重排显示顺序
  • 可以沿着单一()轴线性配置或是沿着第二()轴折行
  • 可以因为可用空间的存在扩展内容的尺寸
  • 可以沿着容器或彼此对齐
  • 可以在保持侧轴长度不变之下动态折叠或反折叠

伸缩容器

名称: display
新值: flex | inline-flex

容器属性

以下6个属性设置在容器上

伸缩流的方向 
flex-direction: 
row | row-reverse | column | column-reverse
flex-direction

伸缩容器里是单行还是多行显示
flex-wrap: 
nowrap | wrap | wrap-reverse
flex-wrap

以上两项属性的合并写法
flex-flow: flex-direction flex-wrap;
默认值为“row nowrap”

沿着主轴线的对齐方式
justify-content:  
flex-start | flex-end | center | space-between | space-around
justify-content

侧轴上对齐方式
align-items: flex-start | flex-end | center | baseline | stretch
align-items

在伸缩容器里的对齐方式
align-content:
flex-start | flex-end | center | space-between | space-around | stretch
align-content

项目的属性

以下6个属性设置在项目上

order: <integer>出现的顺序
order

flex-grow: <number> 扩展能力(占用空间的比例)
flex-grow
flex-shrink: <number> 收缩的能力
flex-basis: <length> | auto (默认值为: auto) 剩余的空间按比率进行伸缩

flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]

align-self: auto | flex-start | flex-end | center | baseline | stretch 对齐方式
align-self
居中
.parent {
display: flex;
height: 300px; /* Or whatever */
}
.child {
width: 100px; /* Or whatever */
height: 100px; /* Or whatever */
margin: auto; /* Magic! */
}
浏览器支持:
Chrome Safari Firefox Opera IE Android iOS
20- (old)
21+ (new)
3.1+ (old)
6.1+ (new)
2-21 (old)
22+ (new)
12.1+ (new) 10 (tweener)
11+ (new)
2.1+ (old)
4.4+ (new)
3.2+ (old)
7.1+ (new)
参考资料:
上面一篇参考文章是翻译,下面一篇是原文.

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注