移动端fiex布局

flex 布局的定义

Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。

我们为父级盒子设置为flex布局以后子元素的 float,clear 和vertical-align属性将失效

任何一个容器都可以指定为Flex布局。flex 布局有两个值:

  • display:flex; 代表的是块级
  • display:inline-flex; 代表的是行内块

flex 布局的基本概念

采用Flex布局的元素,称为Flex容器(flex container),简称”容器”。它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称”项目”。

就是通过给父级盒子添加flex属性,来控制子盒子的位置和排列方式

移动端fiex布局

 常见父项属性 容器

1.flex-direction:设置主轴的方向

主轴和侧轴

在flex布局中,是分为主轴和侧轴两个方向,同样的叫法有行和列x轴y轴

我们的元素是跟着主轴来排列的

  • 默认主轴的方向就是x轴方向:水平向右
  • 默认侧的轴方向就是y轴方向:水平向下

属性值

flex-direction属性决定了主轴的方向(即项目的排列方向)

  • row:主轴的方向是水平,从左到右
  • column:主轴的方向是垂直的,从上到下
  • row-reverse:主轴的方向是水平,从右到左
  • column-reverse:主轴的方向是垂直的,从下到上

移动端fiex布局

2.flex-wrap:设置子元素是否换行

默认情况下,项目都排着一条线上(又称"轴线")上. flex-warp属性定义,flex中默认不换行.如果装不开会缩小子元素的宽度放到父元素里面

  • wrap: 换行
  • nowrap: 不换行(默认)

移动端fiex布局

3.flex-flow:复合属性相当于同时设置了flex-direction:和flex-wrap

4.justify-content设置主轴上子元素排列方式

注意使用这个属性之前一定确定好主轴是哪个

  • flex-start |默认值从头部开始,如果主轴是x轴就是从左到右
  • flex-end |从尾部开始排列
  • center |在主轴居中对齐
  • space-between |先两边贴边在平分剩余空间(重要)
  • space-around| 平分剩余空间

移动端fiex布局

5.align-items: 设置侧轴子元素的排列方式(单行)

该属性控制子项在侧轴(默认是用轴)上的排列方式,在子项为单项的时候使用

 flex-start |从上到下

flex-end |从下到上

center |挤在一起居中(垂直居中)(重要)

 stretch|拉伸(默认值) 子盒子不要给高度

移动端fiex布局 

6.align-content设置侧轴子元素的排列方式(多行)

设置子项在侧轴上的排列方式,并且只能用于子项出现换行的情况(多行)在单行下没有效果

  • flex-start |默认值在侧轴的头部开始排列
  • flex-end |在侧轴的尾部开始排列
  • center |在侧轴中间显示
  • space-between |子项在侧轴先分布在两头,在平分剩余空间
  • space-around |子项在在侧轴平分剩余空间
  • stretch; 设置子项元素高度为父元素的高度

移动端fiex布局

 align-content和align-items的区别

  • align-items适用于单行,只能上对齐,下对齐,居中和拉伸
  • align-content适用于换行(多行)的情况下(单行情况下无效),可以设置上对齐,下对齐,居中拉伸,以及平分剩余空间等属性
  • 总结单行找align-items 多行找align-content

子项常见的属性的属性(项目)

1.align-self控制子项自己在侧轴上的排列方式

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

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

移动端fiex布局

 

2.flex子项占的份数

属性定义子项分配剩余空间,用flex来表示占多少份

3.order属性定义子项的排列属性(前后顺序)

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

注意和z-index不一样

移动端fiex布局

 ---------------------------------------------------完结------------------------------------------------------------------

--------------------------接受大佬们的批改,欢迎留言评论-------------------------------------------------------

上一篇:css属性


下一篇:flex弹性盒布局详细讲解