• 30行代码搞定css3通用flex布局


    背景:网上有很多讲解flex布局的,解释各种属性的效果。如果不熟悉的可以先自行了解一下,本文主要是讲如何使用封装好的样式库,已方便在各地地方引用,实现一劳永逸。不到30行的样式库在最后,可直接放在单独文件全局引用。

    1、实现水平从左到右布局:flex-row-start-start

    下面的html结构都和这一样,固只截取效果。

    2、水平中间布局:flex-row-center-start

    3、水平从右到左布局:flex-row-end-start

    4、水平布局垂直铺满:flex-row-start-stretch

    5、上面都是容器父元素,配合子元素的使用。水平方向指定一个元素占满剩余空间:父flex-row-start-start,指定子flex-1

    6、水平布局空间不足时指定元素不缩小:父flex-row-start-start,指定子flex-1

    7、水平布局自动换行:父flex-row-start-start和flow-wrap

    总结:上面只是举例几个用法,相信聪明的你肯定看出了如何灵活组合其它的用法。结构flex-xx2-xx3-xx4中flex指定的是display: flex,xx2对应的是主轴方向属性flex-direction,xx3对应的是主轴对齐属性justify-content,xx4对应的是交叉轴对齐属性align-items。在配合几个两子属性和一个换行的父属性,不管是在移动端,还是各种浏览器端,只要支持css3属性的环境下基本能满足90%以上的布局需求。
    最后附上源码:

    /*  flex  */
    [class*='flex'] {display: -webkit-flex;display: -ms-flexbox;display: flex;}
    /*   finline 行内flex   */
    [class*='finline'] {display: -webkit-inline-flex;display: -ms-inline-flexbox;display: inline-flex;}
    
    /*   *-row   */
    [class*='-row'] {-webkit-flex-direction: row;-ms-flex-direction: row;flex-direction: row;}
    /*   *-rreverse 反横向   */
    [class*='-rreverse'] {-webkit-flex-direction: row-reverse;-ms-flex-direction: row-reverse;flex-direction: row-reverse;}
    /*   *-column   */
    [class*='-column'] {-webkit-flex-direction: column;-ms-flex-direction: column;flex-direction: column;}
    /*   *-creverse 反纵向   */
    [class*='-creverse'] {-webkit-flex-direction: column-reverse;-ms-flex-direction: column-reverse;flex-direction: column-reverse;}
    
    /*   *-*-start   */
    [class*='row-start'],[class*='rreverse-start'],[class*='column-start'],[class*='creverse-start'] {-webkit-justify-content: flex-start;-ms-flex-pack: start;justify-content: flex-start;}
    /*   *-*-end   */
    [class*='row-end'],[class*='rreverse-end'],[class*='column-end'],[class*='creverse-end'] {-webkit-justify-content: flex-end;-ms-flex-pack: end;justify-content: flex-end;}
    /*   *-*-center   */
    [class*='row-center'],[class*='rreverse-center'],[class*='column-center'],[class*='creverse-center'] {-webkit-justify-content: center;-ms-flex-pack: center;justify-content: center;}
    /*   *-*-between   */
    [class*='row-between'],[class*='rreverse-between'],[class*='column-between'],[class*='creverse-between'] {-webkit-justify-content: space-between;-ms-flex-pack: justify;justify-content: space-between;}
    /*   *-*-around   */
    [class*='row-around'],[class*='rreverse-around'],[class*='column-around'],[class*='creverse-around'] {-webkit-justify-content: space-around;-ms-flex-pack: distribute;justify-content: space-around;}
    
    /*   *-*-*-start   */
    [class*='start-start'],[class*='center-start'],[class*='between-start'],[class*='around-start'],[class*='end-start'] {-webkit-align-items: flex-start;-ms-flex-align: start;align-items: flex-start;}
    /*   *-*-*-end   */
    [class*='start-end'],[class*='center-end'],[class*='between-end'],[class*='around-end'],[class*='end-end'] {-webkit-align-items: flex-end;-ms-flex-align: end;align-items: flex-end;}
    /*   *-*-*-center   */
    [class*='start-center'],[class*='center-center'],[class*='between-center'],[class*='around-center'],[class*='end-center'] {-webkit-align-items: center;-ms-flex-align: center;align-items: center;}
    /*   *-*-*-baseline   */
    [class*='start-baseline'],[class*='center-baseline'],[class*='between-baseline'],[class*='around-baseline'],[class*='end-baseline'] {-webkit-align-items: baseline;-ms-flex-align: baseline;align-items: baseline;}
    /*    *-*-*-stretch    */
    [class*='start-stretch'],[class*='center-stretch'],[class*='between-stretch'],[class*='around-stretch'],[class*='end-stretch'] {-webkit-align-items: stretch;-ms-flex-align: stretch;align-items: stretch;}
    /* 父元素使用=>自动换行 */
    .flow-wrap{flex-flow: wrap}
    /* 子元素使用=> 铺满剩余空间 */
    .flex-1{flex: 1}
    /* 子元素使用=>空间不够不被压缩的元素 */
    .shrink-0{flex-shrink: 0;}

    关注公众号“云海生活”获取更多技术分享

  • 相关阅读:
    CV方向的高效阅读英文文献方法总结
    数据增强方法总结
    CNN结构演变总结(三)设计原则
    CNN结构演变总结(二)轻量化模型
    CNN结构演变总结(一)经典模型
    CNN可视化技术总结(四)--可视化工具与项目
    Codeforces972 D. Kuro and GCD and XOR and SUM 01Trie
    Codeforces 982 D. Shark
    Codeforces Round #700 (Div. 2) A~D题解
    codeforces 1004 D. Sonya and Matrix 构造
  • 原文地址:https://www.cnblogs.com/paul123/p/16423731.html
Copyright © 2020-2023  润新知