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="width: 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>
时间: 2024-10-17 13:29:52

flex 布局-02的相关文章

flex布局

一.Flex布局是什么? Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为Flex布局. .box{ display: flex; } 行内元素也可以使用Flex布局. .box{ display: inline-flex; } Webkit内核的浏览器,必须加上-webkit前缀. .box{ display: -webkit-flex; /* Safari */ display: flex; } 注意,设为Fle

FLEX布局的一些问题和解决方法

前言 露珠最近研究了一下flex的布局方式,发现项w3c推出的这套布局解决方案对于日益复杂的前端开发布局来说是确实是一利器,并且在不同的屏幕上实现了真正的响应式布局:不再单纯地依赖百分比和float的强拼硬凑来达到设计需求,在各个屏幕上显示效果友好,弹性的伸缩元素,简洁易维护的代码.只可惜,这位老兄有一位致命的缺点----除了chrome外几乎所有手机上浏览器都没有兼容它!!,或者支持程度大不一样!这样开发人员头疼的问题就来了,刚刚在手机上忽略掉IE这个强盗的兼容问题,又来一个?!.flex的优

CSS3布局之flex布局效果

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> *{ margin: 0; padding: 0; } .container{ width: 1000px; margin:0 auto; } he

flex布局帮助你快速实现布局

flex布局可以帮我们快速布局一些区块,实现你想要的效果,不用再去float,position之类的.我们在布局网页的时候很多时候都是一些特殊布局,flex就能帮我快速去布局,不需要去定位. 任何一个盒子都可以指定为flex布局,但是要注意,设为 Flex 布局以后,子元素的float.clear和vertical-align属性将失效. 下面我们看看我们网站经常遇到实例:我们要让图片,文字居中并且都贴底部布局,以往的经验会,父容器设置text-align:center,但是垂直方向就很繁琐了,

flex 布局教程

网页布局(layout)是 CSS 的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便.完整.响应式地实现各种页面布局.目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能. Flex 布局将成为未来布局的首选方案.本文介绍它的语法,下一篇文章给出常见布局的 Flex 写

Flex布局新写法兼容写法详解

很久之前用过flex,但是没有考虑过兼容性问题,为了兼容ios一定要加上-webkit前缀: ul{ display: flex; /* 新版本语法: Opera 12.1, Firefox 22+ */ display: -webkit-flex; } li{ flex:1 0 auto; -webkit-flex:1 0 auto; 合并写法,不缩放宽度 flex-shink = 0 } 注意:用过flex布局后,子元素的float,position都没有效了 flex布局教程参考网址,非常

浅谈flex布局

Flex布局,俗称弹性布局,有了这个布局,咱们做的事情很多,以前那些很难实现比如说垂直居中之类都不存在了. 盒模型布局依赖于float,display,定位之类的方式来布局,这种的布局对一些特殊布局来说很不方便,就如上面的垂直居中就不太好实现. 现在就让我来介绍一个Flex布局方式 他中的一些属性: flex-direction flex-wrap flex-flow justify-content align-items align-content 在这里,声明一点,使用了display:fl

flex布局学习(二)

flex布局解决了几个问题 1 margin重叠问题 例如 .item{border: 1px solid green;margin: 30px;} <div style="border: 1px solid red;"> <div class="item"> margin重叠为 </div> <div class="item"> 2 </div> <div class="

flex布局中flex-basis|flex-grow|flex-shrink

flex布局中flex-basis|flex-grow|flex-shrink flex-grow.flex-shrink.flex-basis这三个属性的作用是:在flex布局中,父元素在不同宽度下,子元素是如何分配父元素的空间的. 其中,这三个属性都是在子元素上设置的.注:下面讲的父元素,指以flex布局的元素(display:flex). flex-basis 该属性来设置该元素的宽度.当然,width也可以用来设置元素宽度.如果元素上同时设置了width和flex-basis,那么fle