美文网首页Web开发
CSS:把Flex布局的代码全部展示出来,你难道还不会?

CSS:把Flex布局的代码全部展示出来,你难道还不会?

作者: 以气御码 | 来源:发表于2020-07-13 10:52 被阅读0次

    进入我的主页,查看更多CSS的分享!

    首先呢,先去看文档,了解下flex是什么,这里不做赘述。
    当然,可以看下面的代码示例,去了解。

    一、row

    将子元素在水平方向进行布局:
    1. 垂直方向靠顶部,水平方向靠左侧

    .row-ll {
      display: flex;/* 定义flex */
      flex-direction: row;/* 默认值*/
      align-items: flex-start;/* 默认值*/
      justify-content: flex-start;/* 默认值*/
    }
    

    示例:

    <div class="row-ll" style="width: 660px; height: 230px; border: 1px solid red;">
      <div style="width: 110px; height: 110px;">我是div</div>
      <img src="" alt="" style="width: 110px; height: 110px;" />
      <span>text</span>
    </div>
    

    2. 垂直方向靠顶部,水平方向居中

    .row-lc {
      display: flex;
      flex-direction: row;
      align-items: flex-start;
      justify-content: center;
    }
    

    3.垂直方向靠顶部,水平方向两端对齐
    .row-lsb {
      display: flex;
      flex-direction: row;
      align-items: flex-start;
      justify-content: space-between;
    }
    

    4. 垂直方向靠顶部,水平方向平均分隔(中间间隔的宽度为两边间隔宽度的2倍)
    .row-lsa {
      display: flex;
      flex-direction: row;
      align-items: flex-start;
      justify-content: space-around;
    }
    

    5. 垂直方向靠顶部,水平方向平均分隔(间隔距离相等)
    .row-lse {
      display: flex;
      flex-direction: row;
      align-items: flex-start;
      justify-content: space-evenly;
    }
    

    6. 垂直方向靠顶部,水平方向靠右侧
    .row-le {
      display: flex;
      flex-direction: row;
      align-items: flex-start;
      justify-content: flex-end;
    }
    

    7. 垂直方向可以设置为:靠顶部、居中、靠底部
    前面6个是(垂直方向)靠顶部的效果,且(垂直方向)居中、靠底部的代码类似,如下:
    /* 垂直方向居中,水平方向靠左侧 */
    .row-cl {
      display: flex;
      flex-direction: row;
      align-items: cenetr;
      justify-content: flex-start;
    }
    /* 垂直方向居中,水平方向居中 */
    .row-cc {
      display: flex;
      flex-direction: row;
      align-items: cenetr;
      justify-content: cenetr;
    }
    /* 垂直方向居中,水平方向平均间隔(中间间隔的宽度为两边间隔宽度的2倍) */
    .row-csa {
      display: flex;
      flex-direction: row;
      align-items: cenetr;
      justify-content: space-around;
    }
    /* 垂直方向居中,水平方向两端对齐 */
    .row-csb {
      display: flex;
      flex-direction: row;
      align-items: cenetr;
      justify-content: space-between;
    }
    /* 垂直方向居中,水平方向平均间隔(间隔距离相等) */
    .row-cse {
      display: flex;
      flex-direction: row;
      align-items: cenetr;
      justify-content: space-evenly;
    }
    /* 垂直方向居中,水平方向靠右侧 */
    .row-ce {
      display: flex;
      flex-direction: row;
      align-items: cenetr;
      justify-content: flex-end;
    }
    
    /* 垂直方向居底部,水平方向靠左侧 */
    .row-el {
      display: flex;
      flex-direction: row;
      align-items: flex-end;
      justify-content: flex-start;
    }
    /* 垂直方向居底部,水平方向居中 */
    .row-ec {
      display: flex;
      flex-direction: row;
      align-items: flex-end;
      justify-content: cenetr;
    }
    /* 垂直方向居底部,水平方向平均间隔 */
    .row-esa {
      display: flex;
      flex-direction: row;
      align-items: flex-end;
      justify-content: space-around;
    }
    /* 垂直方向居底部,水平方向两端对齐 */
    .row-esb {
      display: flex;
      flex-direction: row;
      align-items: flex-end;
      justify-content: space-between;
    }
    /* 垂直方向居底部,水平方向平均间隔 */
    .row-ese {
      display: flex;
      flex-direction: row;
      align-items: flex-end;
      justify-content: space-evenly;
    }
    /* 垂直方向居底部,水平方向靠右侧 */
    .row-ee {
      display: flex;
      flex-direction: row;
      align-items: flex-end;
      justify-content: flex-end;
    }
    

    二、column

    将子元素在垂直方向进行布局:
    1. 垂直方向靠顶部,水平方向靠左侧

    .col-ll {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
    }
    

    2. 垂直方向靠居中,水平方向靠左侧

    .col-lc {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
    }
    

    3. 垂直方向两端对齐,水平方向靠左侧

    .col-lsb {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: space-between;
    }
    

    4. 垂直方向平均间隔(中间间隔的宽度为两边间隔宽度的2倍),水平方向靠左侧

    .col-lsa {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: space-around;
    }
    

    5. 垂直方向平均间隔(间隔距离相等),水平方向靠左侧

    .col-lse {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: space-evenly;
    }
    

    6. 垂直方向靠底部,水平方向靠左侧

    .col-le {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-end;
    }
    

    7. 水平方向可以设置为:靠顶部、居中、靠底部
    前面6个是(水平方向)靠顶部的效果,且(水平方向)居中、靠底部的代码类似,如下:

    /* 垂直方向靠顶部,水平方向居中 */
    .col-cl {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
    }
    /* 垂直方向居中,水平方向居中 */
    .col-cc {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }
    /* 垂直方向平均间隔,水平方向居中 */
    .col-csa {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-around;
    }
    /* 垂直方向两端对齐,水平方向居中 */
    .col-csb {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-between;
    }
    /* 垂直方向平均间隔,水平方向居中 */
    .col-cse {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-evenly;
    }
    /* 垂直方向靠底部,水平方向居中 */
    .col-ce {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-end;
    }
    
    /* 垂直方向靠顶部,水平方向靠底部 */
    .col-cl {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: flex-start;
    }
    /* 垂直方向居中,水平方向靠底部 */
    .col-cc {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: center;
    }
    /* 垂直方向平均间隔,水平方向靠底部 */
    .col-csa {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: space-around;
    }
    /* 垂直方向两端对齐,水平方向靠底部 */
    .col-csb {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: space-between;
    }
    /* 垂直方向平均间隔,水平方向靠底部 */
    .col-cse {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: space-evenly;
    }
    /* 垂直方向靠底部,水平方向靠底部 */
    .col-ce {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: flex-end;
    }
    

    三、更多属性

    菜鸟教程(https://www.runoob.com/css3/css3-flexbox.html)

    四、代码太多也有重复,好乱啊

    参考vuetify的预置css,flex.css可以这么写:

    .d-flex {
      display: flex;
    }
    .flex-row {
      flex-direction: row;
    }
    .flex-wrap {
      flex-wrap: wrap;
    }
    .flex-wrap-reverse {
      flex-wrap: wrap-reverse;
    }
    .flex-row-reverse {
      flex-direction: row-reverse;
    }
    .flex-column {
      flex-direction: column;
    }
    .flex-column-reverse {
      flex-direction: column-reverse;
    }
    .align-start {
      align-items: flex-start;
    }
    .align-center {
      align-items: center;
    }
    .align-end {
      align-items: flex-end;
    }
    .justify-start {
      justify-content: flex-start;
    }
    .justify-center {
      justify-content: center;
    }
    .justify-space-around {
      justify-content: space-around;
    }
    .justify-space-between {
      justify-content: space-between;
    }
    .justify-space-evenly {
      justify-content: space-evenly;
    }
    

    示例:

    <link rel="stylesheet" href="./flex.css" />
    <div class="d-flex flex-row align-center justify-center">
        垂直居中,水平居中
    </div>
    <div class="d-flex flex-row align-center justify-space-between">
        垂直居中,水平两端对齐
    </div>
    

    相关文章

      网友评论

        本文标题:CSS:把Flex布局的代码全部展示出来,你难道还不会?

        本文链接:https://www.haomeiwen.com/subject/juqacktx.html