flex各属性效果及图示

示例图片的代码

  <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>flex:1</title>
      <style>
          .box {
              width: 500px;
              height: 200px;
              display: flex;
              background-color: aqua;
          }
  
          #box1 {
              background-color: pink;
              width: 100px;
              height: 100px;
          }
  
          #box2 {
              background-color: yellow;
              width: 100px;
              height: 100px;
          }
          #box3 {
              background-color: green;
              width: 100px;
              height: 100px;
          }
      </style>
  </head>
  <body>
      <div class="box">
          <div id="box1">box1</div>
          <div id="box2">box2</div>
          <div id="box3">box3</div>
      </div>
  </body>

flex常见父项属性

flex-direction:设置主轴方向

  • 默认主轴方向就是x轴方向,水平向右
  • 默认侧轴方向就是y轴方向,水平向下
    1. row:默认从左到右
    2. row-reverse:从右到左
    3. clumn:从上到下
    4. clumn-reverse:从下到上
/*主轴从左到右*/
flex-direction:row;

请添加图片描述

/*主轴从上到下*/
flex-direction:clumn;

请添加图片描述

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

  • flex-start:从头部开始排列
    请添加图片描述
  • flex-end:从尾部开始排列
    请添加图片描述
  • center:在主轴居中对齐
    请添加图片描述
  • space-around:平分剩余空间
    请添加图片描述
  • space-between:两边贴边,再平分剩余空间
    请添加图片描述
  • flex-wrap:设置子元素是否换行,如果不换行,当子元素总宽度大于父元素宽度时会自动压缩子元素宽度,如图
    请添加图片描述
  • wrap:换行
    请添加图片描述

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

  • flex-start:在侧轴头部开始排列
  • flex-end:在侧轴尾部开始排列
  • center:在侧轴中间显示
    请添加图片描述
  • space-around:子项在侧轴平分剩余空间
    请添加图片描述
  • space-between:子项在侧轴先分布在两头,再平分剩余空间
    请添加图片描述
  • stretch:设置子项元素高度平分父元素高度
    请添加图片描述

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

  • flex-start:默认值,从上到下
  • flex-end:从下到上
  • center:挤在一起居中(垂直居中)
    请添加图片描述
  • stretch:拉伸(不要给子元素高度值)

flex-flow:符复合属性,相当于直接设置了flex-direction和flex-wrap

子项常见属性

flex子项目占的份数

  • flex:3;平分剩余空间,该子项占3份
      <style>
          .box {
              width: 250px;
              height: 300px;
              display: flex;/*默认按从左到右主轴排列
              background-color: aqua;
          }
          #box1 {
              background-color: pink;
              flex: 1;
          }
          #box2 {
              background-color: yellow;
              flex: 2;
          }
          #box3 {
              background-color: green;
              flex: 1;
          } 
      </style>
      <div class="box">
          <div id="box1">box1</div>
          <div id="box2">box2</div>
          <div id="box3">box3</div>
      </div>

请添加图片描述

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

例:给box3添加

align-self:flex-end;

请添加图片描述

order属性定义之乡的排列顺序(前后顺序)默认为0

order:-1;/*给box3添加,效果如图*,order值越小就越排在前面/

请添加图片描述
好了flex的知识点就这么多了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值