• CSS3弹性伸缩布局(下)——flex布局


     新版本

    新版本的flex布局模型是2012年9月提出的工作草案,这个草案是由W3C推出的最新语法,这个版本立志于指定标准,让新式的浏览器全面兼容,在未来的浏览器更新换代中实现统一。

    目前几乎大部分的浏览器都支持了。浏览器支持情况可以点击这里查看,下图为支持flex的情况

    //HTML代码部分
    <
    div> <p>我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林</p> <p>我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林</p> <p>我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林</p> </div>
    //CSS部分
    p{ 150px; margin:5px; padding: 5px; border: 1px solid gray; background: silver; }

    属性详解

    首先和之前一样,先设置伸缩盒的display属性,有以下两个值

    div{
        display: flex;
    }

    注意,设为Flex布局以后,子元素的floatclearvertical-align属性将失效

    接下来我们来测试flex布局的属性

    1.flex-direction

    //同旧版本的box-orient,设置伸缩项目的排列方式

    我们四个值都试试

    flex-direction: row;

    flex-direction: row-reverse;

    flex-direction: column;

    flex-direction: column-reverse;

    2.flex-wrap

    //设置换行方式,类似旧版本的base-line,但是旧版本的base-line没有浏览器支持

    flex-wrap: nowrap;

    flex-wrap: wrap;

    flex-wrap: wrap-reverse;

    3.flex-flow

    //集合了flex-direction和flex-wrap的简写形式

    flex-flow:row wrap;

    4.justify-content

    //同旧版本的box-pack,设置伸缩项目的对齐方式,或者说分布方式

    每个值都试试吧

    justify-content: flex-start;

    justify-content: flex-end;

    justify-content: center;

    justify-content: space-between;

    justify-content: space-around;

    5.align-items

    //清理伸缩项目容器的额外空间,同旧版box-align

    还是一样,每个值都试下

    align-items: flex-start;

    align-items: flex-end;

    align-items: center;

    align-items: baseline;

    align-items: stretch;

    6.align-self

    //align-self和align-item都是清理额外空间,但它是单独清理

    p:nth-child(1){
        align-self: center;
    }

    7.flex

    //同旧版box-flex,用于控制伸缩项目的比例分配

    p:nth-child(1){
        flex: 1;
    }
    p:nth-child(2){
        flex: 2;
    }
    p:nth-child(3){
        flex: 1;
    }

    8.order

    //同旧版box-ordinal-group,控制伸缩项目出现的顺序

    p:nth-child(1){
        flex: 1;
        order: 3;
    }
    p:nth-child(2){
        flex: 2;
        order: 1;
    }
    p:nth-child(3){
        flex: 1;
        order: 2;
    }

    小结

    当然flex布局远不止这些,更多内容可以查看官方文档:https://www.w3.org/TR/css-flexbox-1/

    如果觉得我讲的不好的话,也可以看看忨一峰的这篇Flex布局教程博客,希望能对你有所帮助。

    好啦,三篇关于弹性布局的总算讲完拉,希望大家能好好运用flex布局,做出你的兼容式响应布局网页。

  • 相关阅读:
    Jquery的事件与动画-----下雨的天气好凉爽
    JQuery选择器--------没有它就没有页面效果
    JavaScript对象--------------你又知道那些
    实体类----app-config
    知错就改,善莫大焉!!!
    二分查找模板
    《软件工程》学习资料积累
    《计算机算法设计与分析》的学习资源和好的课程积累
    软件的概念
    递归方程的求解和算法时间复杂度的分析
  • 原文地址:https://www.cnblogs.com/wuguanglin/p/flex.html
Copyright © 2020-2023  润新知