flex 布局-02

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        .bigbox{
            width: 100%;
            display:flex;  /*设定弹性布局   flex/ inline-flex/-webkit-flex(Safari )    Webkit 内核的浏览器,必须加上-webkit前缀。*/
            flex-direction:row; /*属性决定主轴的方向(即项目的排列方向)。row | row-reverse | column | column-reverse;*/
                                    /*row(默认值):主轴为水平方向,起点在左端。
                                    row-reverse:主轴为水平方向,起点在右端。
                                    column:主轴为垂直方向,起点在上沿。
                                    column-reverse:主轴为垂直方向,起点在下沿。
                                    */


            flex-wrap:nowrap;   /*nowrap | wrap | wrap-reverse;*

                                nowrap(默认):不换行。
                                wrap:换行,第一行在上方。
                                rap-reverse:换行,第一行在下方。

                                        */
                            /*flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。    */
        
            justify-content:center;     /*flex-start | flex-end | center | space-between | space-around;

                                flex-start(默认值):左对齐
                                flex-end:右对齐
                                center: 居中
                                space-between:两端对齐,项目之间的间隔都相等。
                                space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。


                            */

         align-items:center ; /* flex-start | flex-end | center | baseline | stretch;
                        flex-start:交叉轴的起点对齐。
                    flex-end:交叉轴的终点对齐。
                    center:交叉轴的中点对齐。
                    baseline: 项目的第一行文字的基线对齐。
                    stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。                                                                                

                     */


        align-content: flex-start; /*flex-start | flex-end | center | space-between | space-around | stretch;

                    flex-start:与交叉轴的起点对齐。
                    flex-end:与交叉轴的终点对齐。
                    center:与交叉轴的中点对齐。
                    space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
                    space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
                    stretch(默认值):轴线占满整个交叉轴。
                    */


        }
        .bigbox >div{
            margin-right: 1%;
            
            background: #ccc;
            order: 5; /*order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。*/
            /*flex-grow: 1;  default 0  ,默认为0,即如果存在剩余空间,也不放大。如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow属性为2,其他项目都为1,则前者占                    据的剩余空间将比其他项多一倍。*/

    /*    flex-shrink:1; */  /*属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小*/

             /* flex-basis:100px */   /*  <length> | auto; default auto */
        flex:1 1 auto; /*flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选*/
        align-self: auto | flex-start | flex-end | center | baseline | stretch;
    
            

        }
    </style>
</head>
<body>
    <div class="bigbox">
        <!-- <div><a href="#"><img src="tu.jpg"></a></div>
        <div><a href="#"><img src="tu.jpg"></a></div>
        <div><a href="#"><img src="tu.jpg"></a></div>
        <div><a href="#"><img src="tu.jpg"></a></div>    
        <div><a href="#"><img src="tu.jpg"></a></div>
        <div><a href="#"><img src="tu.jpg"></a></div>
        <div><a href="#"><img src="tu.jpg"></a></div>
        <div><a href="#"><img src="tu.jpg"></a></div>     
        <div><a href="#"><img src="tu.jpg"></a></div>
        <div><a href="#"><img src="tu.jpg"></a></div>
        <div><a href="#"><img src="tu.jpg"></a></div>
        <div><a href="#"><img src="tu.jpg"></a></div>
        <div><a href="#"><img src="tu.jpg"></a></div>
        <div><a href="#"><img src="tu.jpg"></a></div>
        <div><a href="#"><img src="tu.jpg"></a></div> -->
        <div>1</div>
        <div>2</div>
        <div>6</div>
        <div>7</div>
        <div>8</div>
        <div>3</div>
        <div>4</div>
        <div  style=" 100px;flex-shrink: 0;">5</div>
        <div>11</div>
        <div>12</div>
        <div>13</div>
        <div>9</div>
        <div>10</div>    
        <div>14</div>
        <div>15</div>
        <div>16</div>
        <div>17</div>
        <div>18</div><!-- style="flex-grow: 2;" -->
        <div>19</div>
        <div>20</div>
        <div>21</div>
        <div>22</div>
        <div>23</div>
    </div>
    
</body>
</html>
原文地址:https://www.cnblogs.com/jinsuo/p/6934762.html