zoukankan      html  css  js  c++  java
  • CSS之flex布局

    flex基础概念
    - display相关flex语法:display:flex 和 display:inline-flex
    - flex是一维布局模式,flex只有行没有列的概念,主轴(main axis) 和交叉轴(cross axis)
    - flexbox只会挤压content内容,不会对margin,padding,border造成挤压,盒子有显示申明width的情况下,文字也会造成挤压
    flex基础属性定义与使用
    1.flex-direction(申明主轴的方位和方向)

    .item{
        flex-direction:column}

    2.flex-wrap  (属性申明一行放不下时是否需要换行)

    .container{
        flex-wrap:nowrap(default)|wrap|wrap-reverse
    }

    3.justify-content (申明每行内的项目如何水平对齐,类似于text-align使用方式一样)

    .container{
        justify-content:flex-start(default)|flex-end|center|space-between|space-around|space-evenly;
    }

    .container{
            width: 600px;
            height: 200px;
            background-color: orange;
            display: flex;
            justify-content:space-between
        }

    4.align-items (属性申明每行内的项目如何垂直对齐,可用于做垂直居中)

    .container{
        align-items:stretch(default)|flex-start|flex-end|center|baseline;
    }

    .container{
        align-items:center;
    }

    5.order (属性申明的是弹性项目自身的展示顺序)

    .child{
    order:-1;//default is 0 
    }

    6.flex-grow (属性申明的是弹性项目是否要瓜分行内的富余空间,以及如何瓜分)

    .item{
        flex-grow:<number>;//default is 0 
    }

    弹性容器富余空间:除去弹性盒子所占用的宽度,行内剩余的空间
    flex-grow会先统计所有子元素想要占用的申请份数,最后根据所有子元素申请的份数,分配富余空间
    7.flex-shrink (弹性项目是否要瓜分行内的负债空间,以及如何瓜分)

    .item{
        flex-shrink:<number>;//default is 1
    }

    弹性容器负债空间:弹性盒子在规则和宽度等约束下,行内短缺空间,不换行造成的弹性盒子挤压
    flex-shrink会先统计子元素要还的申请份数,最后根据所有子元素申请的份数,分配挤压的空间

    .child1,.child3,.child4{
        flex-shrink:1;
    }
    .child2{
        flex-shrink:0;
    }

    8.flex-basis (属性申明的是预先分配给弹性项目长度)

    .item{
        flex-basis:<length>|auto;//default is auto
        }

    9.align-content(属性将容器的一行视为最小单位,它申明的是如果容器的交叉轴方向有富余空间,每行应该怎么垂直对齐)

    .container{
        align-content:stretch(default)|flex-start|flex-end|center|spance-between|space-around|space-evenly
    }

    10.实现垂直居中

    .container{
        display:flex;
        justify:center;
        align-items:center;
    }

    具体操作实例可以看阮一峰的实例:http://www.ruanyifeng.com/blog/2015/07/flex-examples.html

  • 相关阅读:
    【eoe资源】通过片段创建灵活的用户界面
    史上最全的Android开发索引帖
    临时记录
    五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)
    【转】深入探讨 Android 传感器
    Java Collections Framework Java集合框架List,Map,Set等全面介绍之概要篇
    谷歌 G1 android APK安装器 离线安装软件
    【转】請為你的 Android 程式加上 obfuscation 吧!
    【转】Android Toolchain与Bionic Libc
    用VirtualBox在XP环境下虚拟Ubuntu的过程
  • 原文地址:https://www.cnblogs.com/advanceCabbage/p/10457668.html
Copyright © 2011-2022 走看看