flex弹性盒布局(layout)

来源:互联网 发布:双色球组合数据 编辑:程序博客网 时间:2024/06/04 20:38
1.布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float 属性。
它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。
2.2009年,W3C提出了一种新的方案—-Flex布局,可以简便、完整、响应式地实现各种页面布局。
3.已经得到了所有浏览器的支持
4.Flex布局是什么?:Flex是Flexible Box的缩写,意为”弹性布局”。
5.任何一个容器都可以指定为Flex布局(div)
6.行内元素也可以使用Flex布局(li,a等)
7.设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。
8.基本概念
采用Flex布局的元素,(flex container),简称”容器”。
它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称”项目”。

容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)


9.容器的属性
以下6个属性设置在容器上。
        flex-direction
        flex-wrap
        flex-flow //默认值为row nowrap,项目的排列方向,换行?
        justify-content //定义了项目在主轴上的对齐方式
        align-items    //定义项目在交叉轴上如何对齐
        align-content  //定义了多根轴线的对齐方式
10.项目的属性
flex //flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。
以下6个属性设置在项目上。
        order //order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0
        flex-grow //flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
        flex-shrink //flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
        flex-basis //定义了在分配多余空间之前,
        //项目占据的(main size)浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。
        flex //flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。
        align-self // align-self属性允许单个项目有与其他项目不一样的对齐方式

代码
/* 水平方向 */
.flex_container{
  /*display: inline-flex;*/

    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-flex-flow: row nowrap;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items:center ;
}
.flex_item{
    flex:0 1 auto;
}
最后教程来源:http://www.runoob.com/w3cnote/flex-grammar.html
0 0
原创粉丝点击