一文掌握flex布局

举报
vike 发表于 2021/10/29 13:14:50 2021/10/29
【摘要】 一文掌握flex布局开启flex布局display:flex常见父项属性flex-direction 设置主轴方向主轴分行和列 行 水平向右 列垂直向下默认的主轴就是行支持四个属性row 从左往右(默认) div { display: flex; flex-direction: row; }row-reverse 从右往左 div { ...

一文掌握flex布局

  • 开启flex布局

    • display:flex
  • 常见父项属性

    • flex-direction 设置主轴方向

      • 主轴分行和列 行 水平向右 列垂直向下

      • 默认的主轴就是行

      • 支持四个属性

        • row 从左往右(默认)

              div {
                  display: flex;
                  flex-direction: row;
              }
          

          image-20210826152359326

        • row-reverse 从右往左

              div {
                  display: flex;
                  flex-direction: row-reverse;
              }
          

          image-20210826153002023

        • column 从上往下

          div {
                  display: flex;
                  flex-direction: column;
              }
          

          image-20210826153114492

        • column-reverse 从下往上

              div {
                  display: flex;
                  flex-direction: column-reverse;
              }
          

          image-20210826153236674

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

      • 支持5个属性

      • flex-start 从头部开始 会根据主轴变化确定头部(默认)

            div {
                display: flex;
                justify-content: flex-start;
            }
        

        image-20210826153851358

      • flex-end 从尾部开始

            div {
                display: flex;
                justify-content: flex-end;
            }
        

        image-20210826153943350

      • center 在主轴居中对齐 主轴是行 水平对齐 主轴是列 垂直对齐

            div {
                display: flex;
                justify-content: center;
            }
        

        image-20210826154034416

      • space-around 平分剩余空间

            div {
                display: flex;
                justify-content: space-around;
            }
        

        image-20210826154126304

      • space-between 最外面两边贴边 剩余平分空间

            div {
                display: flex;
                justify-content: space-between;
            }
        

        image-20210826154311290

    • flex-wrap设置子元素是否换行

      • 主要的两个属性

      • nowrap 子元素超出不换行(默认)

        • 超出元素会缩小
            div {
                display: flex;
                flex-wrap: nowrap;
            }
        

        image-20210826154658936

      • wrap 超出换行

            div {
                display: flex;
                flex-wrap: wrap;
            }
        

        image-20210826154813590

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

      • 只能在多行情况下使用 单行下没有效果
      • flex-start 从头部开始排列
      • flex-end 从底部开始排列
      • center 在侧轴中间显示
      • space-around 平分侧轴剩余空间
      • space-between 两边贴边 剩下的平分空间
      • stretch 子元素平分父元素高度
    • align-items 设置侧轴上子元素排列方式(单行)

      • flex-start 从上往下(默认)

      • flex-end 从下往上

      • center 垂直居中

            /* 水平垂直居中 */
            div {
                display: flex;
                justify-content: center;
                align-items: center;
                height: 800px;
            }
        

        image-20210826160044741

      • stretch 拉伸

        • 注意点 在设置拉伸属性的时候 子元素不能设置高度 否则失效

              div {
                  display: flex;
                  align-items: stretch;
                  height: 800px;
              }
          

          image-20210826160310245

    • flex-flow 相当于同时设置flex-direction flex-wrap

  • 常见子属性

    • align-self 控制子元素自己在侧轴排列方式

          div span:nth-child(1) {
              align-self: flex-end;
          }
      

      image-20210826161514821

    • order 定义项目的排列顺序

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

总结

  • 今天又是努力学习的一天 大家多写写flex布局 练练手
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。