css之弹性盒

一、弹性盒介绍

flex(弹性盒、伸缩盒)

            是CSS中的又一种布局手段,它主要用来代替浮动来完成页面的布局

            flex可以使元素具有弹性,让元素可以跟随页面的大小的改变而改变

            弹性容器

            要使用弹性盒,必须先将一个元素设置为弹性容器

            我们通过 display 来设置弹性容器

                display:flex  设置为块级弹性容器

                display:inline-flex 设置为行内的弹性容器

           弹性元素

              弹性容器的子元素是弹性元素(弹性项)

              弹性元素可以同时是弹性容器

二、弹性盒的相关属性

flex-direction 指定容器中弹性元素的排列方式

                可选值:

                    row 默认值,弹性元素在容器中水平排列(左向右)

                        - 主轴 自左向右

                    row-reverse 弹性元素在容器中反向水平排列(右向左)

                        - 主轴 自右向左

                    column 弹性元素纵向排列(自上向下)

                    column-reverse 弹性元素反向纵向排列(自下向上)

                主轴:

                    弹性元素的排列方向称为主轴

                侧轴:

                    与主轴垂直方向的称为侧轴

flex-wrap 设置弹性元素是否在弹性容器中自动换行

                可选值:

                    nowrap 默认值,元素不会自动换行

                    wrap 元素沿着辅轴方向自动换行

                    wrap-reverse 元素沿着辅轴反方向换行

            

                     flex-wrap: wrap-reverse; 

                    flex-flow:  wrap 和 direction 的简写属性 

                    flex-flow: row wrap; 

justify-content 如何分配主轴上的空白空间(主轴上的元素如何排列)

                     可选值:

                        flex-start 元素沿着主轴起边排列

                        flex-end 元素沿着主轴终边排列

                        center 元素居中排列

                        space-around 空白分布到元素两侧

                        space-between 空白均匀分布到元素间

                        space-evenly 空白分布到元素的单侧

                        看到justify-content都是讲的主轴上的

                        justify-content: center; 

                        弹性盒里使元素居中 

align-items 元素在辅轴上如何对齐

                表示元素间的关系

                    可选值:

                        stretch 默认值,将元素的长度设置为相同的值

                        flex-start 元素不会拉伸,沿着辅轴起边对齐

                        flex-end 沿着辅轴的终边对齐

                        center 居中对齐

                        baseline 基线对齐

align-content 辅轴空白空间的分布

                 可选值:

                        flex-start 元素沿着主轴起边排列

                        flex-end 元素沿着主轴终边排列

                        center 元素居中排列

                        space-around 空白分布到元素两侧

                        space-between 空白均匀分布到元素间

                        space-evenly 空白分布到元素的单侧

单独设置元素里面的元素样式 align-self: 用来覆盖当前弹性元素上的align-items

弹性的增长系数

            flex-grow: 1; 

          

                弹性元素的缩减系数

                    - 缩减系数的计算方式比较复杂

                    - 缩减多少是根据 缩减系数 和 元素大小来计算

            

            flex-shrink: 1; 

                元素基础长度

                flex-basis 指定的是元素在主轴上的基础长度

                    如果主轴是 横向的 则 该值指定的就是元素的宽度

                    如果主轴是 纵向的 则 该值指定的是就是元素的高度

                    - 默认值是 auto,表示参考元素自身的高度或宽度

                    - 如果传递了一个具体的数值,则以该值为准

             flex-basis: auto; 

                flex 可以设置弹性元素所有的三个样式

                    flex 增长 缩减 基础;

                        initial "flex: 0 1 auto".

                        auto  "flex: 1 1 auto"

                        none "flex: 0 0 auto" 弹性元素没有弹性

order 决定弹性元素的排列顺序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

该编程了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值