CSS 样式篇之 Flex 布局

设为 Flex 布局以后,子元素的 float、clear 和 vertical-align 等属性将失效

利用 flex-direction 属性决定项目的排列方向

.box {
  display: flex;
  flex-direction: row | row-reverse | column | column-reverse;
}

默认值 row,即主轴为水平方向,起点在左端

利用 flex-wrap 决定项目在一条轴线上排不下时如何换行

.box{
  display: flex;
  flex-wrap: nowrap | wrap | wrap-reverse;
}

默认值 nowrap,即不换行

flex-flow 是 flex-direction 和 flex-wrap 的简写形式

.box {
  display: flex;
  flex-flow: <flex-direction> <flex-wrap>;
}

默认值为 row nowrap

利用 justify-content 属性定义项目在水平方向上的对齐方式

.box {
  display: flex;
  justify-content: flex-start | flex-end | center | space-between | space-around;
}

默认值 flex-start,即左对齐

利用 align-items 属性定义项目在垂直方向上的对齐方式

.box {
  display: flex;
  align-items: flex-start | flex-end | center | baseline | stretch;
}

默认值 stretch,如果项目未设置高度或设为 auto,将占满整个容器的高度

利用 align-content 属性定义多跟轴线的对齐方式

.box {
  display: flex;
  align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}

默认值 stretch,即轴线将占满整个交叉轴

利用 order 属性定义项目的排列顺序,数值越小越靠前

.item {
  order: <integer>;
}

默认值为 0

利用 flex-grow 属性定义项目的放大比例

.item {
  flex-grow: <number>;
}

默认为 0,即如果存在剩余空间,也不放大

利用 flex-shrink 属性定义项目的缩小比例

.item {
  flex-shrink: <number>;
}

默认为 1,即如果空间不足,该项目将缩小

利用 flex-basis 属性定义在分配多余空间之前,项目占据的主轴空间

.item {
  flex-basis: <length> | auto;
}

默认值为 auto,即项目的本来大小

flex 是 flex-grow, flex-shrink 和 flex-basis 的简写

.item {
  flex: <'flex-grow'> <'flex-shrink'> <'flex-basis'>
}

默认值为 0 1 auto,该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)

align-self 允许单个项目有与其他项目不一样的对齐方式,可覆盖 align-items 属性

.item {
  align-self: auto | flex-start | flex-end | center | baseline | stretch;
}

默认值为 auto,表示继承父元素的 align-items 属性

除特殊说明外本人博客均属原创,转载请注明出处:http://blog.johnhan.cn/blog_998.html
京ICP备19044523号-1