美文网首页Web前端之路让前端飞Web 前端开发
Flex 弹性盒模型深度学习(一)—— Flex 容器

Flex 弹性盒模型深度学习(一)—— Flex 容器

作者: ac68882199a1 | 来源:发表于2017-08-22 23:19 被阅读139次

    其实之前就有了解过 flex 的使用方式,但是因为在实际项目中使用不多,而 flex 布局的属性又很多,所以几乎是看一遍忘一遍。为了改善关于这一块知识点的缺乏,所以决定重新好好学习一遍 flex

    Flex 容器

    Flex 布局需要在一个容器中实现,这个容器叫做 flex 容器,可以通过 display 属性来声明

    .container {
        display: flex;
    }
    

    声明一个 flex 容器的值并不只有 flex,同时还有 inline-flex;前者对应块状元素,而后者则是行内元素。当声明了一个 flex 容器后,这个容器子元素的 float、clear、vertical-align 属性都将会失效

    对于一个 flex 容器,我们还能够设置很多其他的属性来实现我们需要的效果

    flex-direction

    这个属性名其实很好理解,就是设置容器中的 flex item 的排列方向的,它有下面几个值:

    1. row <水平从左向右排列>
    2. row-reverse <水平从右向左排列>
    3. column <垂直从上到下排列>
    4. column-reverse <垂直从下到上排列>

    由于容器内的排列方向有四种,如果每种方式都单独写一遍篇幅会过长,所以下面以 flex-direction: row; 为基准来下,其他的只需要做个方向上的变换就可以了

    flex-wrap

    在不设置这个属性的情况下,当所有 flex item 的总长度超过容器长度时,item 会超出容器,并不会换行,如下图

    容器中实际上有 10 个 item,但并没有换行,而是超出了容器(图片上似乎看不出来,小伙伴们可以自己试试:)

    但是当我们设置 flex-wrap 以后,就可以实现换行了,它的值有下面几个:

    1. nowrap <默认值,不换行>
    2. wrap <换行,新的一行在下面>
    3. wrap-reverse <换行,旧的一行在下面>

    flex-flow

    这个属性就很简单了,是上面两个属性的缩写,属性可以接受两个值,一个是 flex-direction 的值,另一个是 flex-wrap 的值

    justify-content

    这个属性的作用是决定 item 在他们的排列方向(当前是 row,水平向右)上的对齐方式

    1. flex-start <默认值,排列方向起始位置对齐>
    2. flex-end <排列方向结束位置对齐>
    3. center <居中对齐>
    4. space-between <两端对齐,如果有剩余空间,则等分成间隙>
    5. space-around <均匀分布,如果有空隙,两端会存在空隙,且两端空隙为中间空隙的一半>

    align-items

    这个属性也是决定对齐方式的,但与上一个属性不同的是,它决定的是当只有一行时 item 之间的对齐方式

    1. stretch <默认值,在 item 未设置高度的情况下,item的高将占满容器,这样每个 item 的高度都相同>
    2. flex-start <item 之间在起始位置(这里是顶部)对齐>
    3. flex-end <item 之间在结束位置(这里是底部)对齐>
    4. center <item 之间中部对齐>
    5. baseline <item 以它们内部第一行文字的基线为准对齐>

    align-content

    这个属性定义了当有多行时 item 之间的对齐方式

    1. stretch <默认值,在 item 未设置高度的情况下,item的高将占满这一行,这样每个 item 的高度都相同>
    2. flex-start <item 在起始位置(这里是顶部)对齐>
    3. flex-end <item 在结束位置(这里是底部)对齐>
    4. center <item 之间中部对齐>
    5. space-between <两端对齐,如果有剩余空间则平分成为间隙>
    6. space-around <均匀分布,如果有空隙,两端会存在空隙,且两端空隙为中间空隙的一半>

    最后几张图做的有点疯狂又没做处理,嘿嘿嘿,将就看将就看

    扫码关注前端周记公众号

    相关文章

      网友评论

        本文标题:Flex 弹性盒模型深度学习(一)—— Flex 容器

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