flex布局

在这里插入图片描述

flex布局后,不分行块,都可以设置大小(给父盒子添加,让子盒子有大小,可以一行显示,也不用清除浮动)

布局原理(弹性布局)

用来为盒装模型提供最大的灵活性,任何一个容器都可以指定为flex布局

  • 当我们将父盒子设为flex布局后,子元素的float\clear \vertical-align属性都将失效
  • 伸缩布局=弹性布局=伸缩盒布局=弹性盒布局=flex布局
    在这里插入图片描述

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

flex布局父项常见属性

在这里插入图片描述

  • 主轴和侧轴

    主轴和侧轴,同样的叫法有行和列、x轴y轴

    默认方向
    在这里插入图片描述

flex-derction:决定主轴的方向

子元素跟着主轴排列

  • 在这里插入图片描述
justify-content设置主轴上的子元素排列方式

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

定义了项目在主轴上的对齐方式

  • 在这里插入图片描述

  • 可实现盒子垂直居中
    flex-direction: column
    
    justify-content: center
    
    
flex-wrap 设置子元素是否换行(默认不换行)
  • flex会让元素一行显示,放不下时,会让子盒子缩小到能够放下为止

  • nowrap: 不换行

  • wrap : 换行

  • .box{
      flex-wrap: nowrap | wrap | wrap-reverse;
    }  //还有reverse
    
align-items 设置侧轴上的子元素排列方式(适用于单行)

stretch : 不设高度

  • 实现垂直水平居中
    justify-content: center;
     align-items: center;
    
    
align-content 设置侧轴上的子元素的排列方式(适用于多行)

arround | between 适用于有宽度的父亲,如果父亲不能/没有设置明确的宽度,可以使用padding值,给margin也可以,但是在移动端电机的范围越大越好,所以最好使用padding

  • 在这里插入图片描述

只能用于子项出现换行的情况(多行),在单行下是没有效果的

看是否出现换行情况

如下图所示,虽然有三行,但是没有出现换行情况,所以用 align-items;

在这里插入图片描述

flex-flow

是 flex-direction 和 flex-wrap 属性的复合属性

flex-direction:column;
flex-wrap:wrap;

还可以写成
flex-flow:column wrap

flex布局子项常见属性

  • 定义子项目分配剩余空间,用flex来表示占多少份数
flex:number 默认是0
  • align-self

    align-self 属性定义flex子项单独在侧轴(纵轴)方向上的对齐方式。

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

    数值越小,排列越靠前,默认为0

    注意 : 和z-index不一样

subnav-entry {
    display: flex;
    flex-wrap: wrap;
    margin: 0 4px;
    background-color: #fff;
    border-radius: 8px;

    padding: 5px 0;
}

flex:值要想使用,直接父元素必须有display:flex;
li {
    flex: 20%;
}

.subnav-entry a {
    /* flex: 1; */
    flex: 20%;
    height: 53px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

1; */
flex: 20%;
height: 53px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值