css3弹性盒模型

版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/panzina/article/details/82421763

任何一个容器都可以为其指定为Flex布局。
如:

.box{
    display:flex;
}

行内元素:

.box{
    display:inline-flex;
}

webkit内核,加上前缀:dispaly:-webkit-flex;

一、容器的属性

  1. flex-direction
  2. flex-wrap
  3. flex-flow
  4. justify-content
  5. align-items
  6. align-content

1.1 flex-direction属性决定主轴的方向
有四个值:

  1. row(默认值):主轴为水平方向,起点在左端
  2. row-reverse:主轴为水平方向,起点在右端
  3. column:主轴为垂直方向,起点在上沿
  4. column-reverse:主轴为水平方向,起点在下沿

1.2 flex-wrap 换行

  1. nowrap (默认):不换行
  2. wrap:换行,第一行在上方
  3. wrap-reverse:换行,第一行在下方

1.3 flex-flow 是flex-direction与flex-wrap 的简写 ,默认row nowrap

1.4 justify-content 项目在主轴上的对齐方式

  1. flex-start(默认值):左对齐
  2. flex-end:右对齐
  3. center:居中
  4. space-between:两端对齐,项目之间的间隔相等
  5. space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍

1.5 align-items 定义项目在交叉轴上如何对齐

  1. flex-start :交叉轴的起点对齐
  2. flex-end:交叉轴的终点对齐
  3. center:交叉轴的终点对齐
  4. baseline:项目在第一行文字的蓟县对齐
  5. stretch(默认值):如果项目为设置高度或设为auto,将占满整个容器

1.6 align-content 多根轴线的对齐方式。如果只有一根轴线,不起作用

1.flex-start:与交叉轴的起点对齐
2.flex-end: 与交叉轴的终点对齐
3. center:与交叉轴的中点对齐
4. space-between:与交叉轴两端对齐,轴线之间的间隔平均分布
5. space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍
6. stretch(默认值):轴线占满整个交叉轴

二 项目的属性

  1. order
  2. flex-grow
  3. flex-shrink
  4. flex-basis
  5. flex
  6. align-self

2.1 order 定义项目的排序顺序,数值越小,排列越靠前,默认为0

2.2 flex-grow 项目的放大比例,默认为0,即如果存在默认空间,也不放大

.item{
    flex-grow:2;
}

2.3 flex-shrink 项目的缩小比例,默认为1,即如果空间不足,改项目奖缩小

2.4 flex-basis 定义在分配多余空间之前,项目占据的主轴空间。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。

2.5 flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。

2.6 align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。

猜你喜欢

转载自blog.csdn.net/panzina/article/details/82421763