美文网首页
flex布局之前世今生

flex布局之前世今生

作者: 少年_小王子 | 来源:发表于2018-01-03 16:12 被阅读0次

  flexbox,一种CSS3的布局方式,也叫做弹性盒子模型,2009年w3c提出用来为盒装模型提供最大的灵活性。

 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。

    比如:在知道对象宽高的情况下,实现div盒子水平垂直居中。对居中元素绝对百分比定位,然后通过margin偏移的方式来实现。

 .container{

        width: 600px;

        height: 400px;

        border: 1px solid #000;

        position: relative;

    }

    .box{

        width: 200px;

        height: 100px;

        border: 1px solid #000;

        position: absolute;

        left: 50%;

        top: 50%;

        margin-left: -100px;

        margin-top:-50px;

    }

假如使用了flex后,实现起来就简单了,而且不需要自己去算,也不需要绝对定位,只需要通过对伸缩容器定义两个属性,justify-content定义伸缩项目沿着主轴线的对齐方式为center, align-items定义伸缩项目在侧轴(垂直于主轴)的对齐方式为center,具体如下:

.container{

    width: 600px;

    height: 400px;

    border: 1px solid #000;

    display: flex;

    justify-content:center;

    align-items:center;

}

.box{

    width: 200px;  //宽度可以为任意

    height: 100px; //高度可以为任意

    border: 1px solid #000;

}

/*----------------------------------那么,接下来开始介绍Flexbox。---------------------------------*/

简单放一张图  

介绍一下:

flexbox由flex容器 + flex项目组成 (容器即父元素,项目即子元素)。

   注意,设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。

有两条轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross start,结束位置叫做cross end。

项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size。

容器六个属性:flex-direction

                         flex-wrap

                         flex-flow

                         justify-content

                         align-items

                         align-content

具体属性的值见上图

优点:简单、方便、快速。 

缺点:兼容性

    具体大家可以见这个网站:caniuse(http://caniuse.com/#search=flexbox)

     /*--------------------------------------------------------结束。-------------------------------------------*/

相关文章

  • flex布局之前世今生

    flexbox,一种CSS3的布局方式,也叫做弹性盒子模型,2009年w3c提出用来为盒装模型提供最大的灵活性。 ...

  • ReactNative UI布局之flex

    ReactNative UI布局之flex flexDirection:决定flex的布局方向 justifyCo...

  • 网络编程(八)移动端布局(2)

    今天主要介绍一下移动端布局之flex布局。 一、 flex 布局体验 1.1 传统布局与flex布局的 1.2 初...

  • flex布局实现骰子六个面的写法

    1.flex实现骰子六个面之<布局一> 2.flex实现骰子六个面之<布局二> 3.flex实现骰子六个面之<布局...

  • flex布局

    认识flex布局 flex布局(Flexible 布局,弹性布局)开启了flex布局的元素叫flex contai...

  • flex:1 和 flex:auto区别

    如果还没有使用过flex,请先拜读下阮大大之Flex 布局教程:语法篇 在说flex:1和flex:auto区别之...

  • 初见FLEX

    FLEX布局 一种新的布局方式,flex布局 flex布局与方向无关 flex布局可以实现空间自动分配、自动对齐。...

  • Flex 布局教程

    一、Flex 布局教程:语法篇 Flex 布局教程:语法篇 二、Flex 布局教程:实例篇 Flex...

  • css flex布局详解

    css flex布局详解 css flex布局详解1css flex布局详解2

  • Flex

    阮一峰-Flex布局 阮一峰-Flex布局实例教程 Flex布局 块级元素 行内元素 注意,设为 Flex 布局...

网友评论

      本文标题:flex布局之前世今生

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