CSS3之Flex布局(弹性布局/弹性盒子)

一、什么是Flex布局

           Flex,全称Flexible Box,指“弹性布局”或“弹性盒子”,是C3中的一种新的布局方式,可以快速且完整的实现类似于响应式的各种页面布局,适用各种大小变换的场景,几乎兼容各种浏览器。

           1、释义

            使用Flex布局的元素,我们称之为flex containerflex容器),被flex容器包裹的所有元素统称为flex item,也可称之为项目,容器内默认存在有main end(水平轴,又叫主轴)和cross axis(垂直轴),两轴交叉,分别有起始位置start和结束位置endflex item默认状态下都是沿主轴排列,单个item所占据的空间,主轴的叫mani size,垂直轴的叫cross size

            2、用法

             通过设置display属性值:

           (1)flex--------------------------生成一个块级容器;

           (2)inline-flex------------------生成一个行块级容器;

             当一个元素的display属性被设置成flex布局后,其容器里面的其他属性将失效,比如:floatclear等。

二、Flex各种属性及介绍

            display: flex;的属性主要分为容器属性和item属性,详细介绍如下:

            1、容器属性、属性值说明

属性值的作用

flex-direction

(指定容器中子元素的排列方式)

row默认值,主轴沿水平方向从左到右
row-reverse主轴沿水平方向从右到左
column主轴沿垂直方向从上到下
column-reverse主轴沿垂直方向从下到上
initial将此属性设置为属性的默认值
inherit从父元素继承此属性的值

flex-wrap

(当容器愉子元素超出父容器时是否换行)

nowrap默认值,表示项目不会换行
wrap表示项目会在需要时换行
wrap-reverse表示项目会在需要时换行,但会以相反的顺序
initial将此属性设置为属性的默认值
inherit从父元素继承属性的值

flex-flow

flex-directionflex-wrap两个属性的简写)

flex-direction flex-wrap--

justify-content

(容器中元素在主轴方向上的对齐方式)

flex-start默认值,左对齐
flex-end右对齐
center居中
space-between两端对齐,项目之间的间隔是相等的
space-around每个项目两侧的间隔相等
initial将此属性设置为属性的默认值
inherit从父元素继承属性的值

align-items

(容器中元素在纵轴方向上的对齐方式)

stretch默认值,项目将被拉伸以适合容器
center项目位于容器的中央
flex-start项目位于容器的顶部
flex-end项目位于容器的底部
baseline项目与容器的基线对齐
initial将此属性设置为属性的默认值
inherit从父元素继承属性的值

align-content

(修改flex-wrap属性的行为,类似align-items,但不是设置子元素对齐,而是设置行对齐)

stretch默认值,将项目拉伸以占据剩余空间
center项目在容器内居中排布
flex-start项目在容器的顶部排列
flex-end项目在容器的底部排列
space-between多行项目均匀分布在容器中,其中第一行分布在容器的顶部,最后一行分布在容器的底部
space-around多行项目均匀分布在容器中,并且每行的间距(包括离容器边缘的间距)都相等
initial将此属性设置为属性的默认值
inherit从父元素继承该属性的值

             2、item属性、属性值说明

属性值的作用

order

(设置弹性盒子中子元素的排列顺序)

numberitem在容器中的位置,默认值为 0

align-self

(容器中的子元素上使用,用来覆盖容器的 align-items 属性)

auto默认值,表示元素将继承其父容器的 align-items 属性值,如果没有父容器,则为“stretch
stretch项目将被拉伸以适合容器
center项目位于容器的中央
flex-start项目位于容器的顶部
flex-end项目位于容器的底部
baseline项目与容器的基线对齐
initial将此属性设置为属性的默认值
inherit从父元素继承属性的值

flex

(容器中子元素如何分配空间)

flex-grow(必填参数)一个数字,用来设置项目相对于其他项目的增长量,默认值为 0
flex-shrink(选填参数)一个数字,用来设置项目相对于其他项目的收缩量,默认值为 1
flex-basis(选填参数)项目的长度,合法值为 auto(默认值,表示自动)、inherit(表示从父元素继承该属性的值) 或者以具体的值加 "%"、"px"、"em" 等单位的形式
auto1 1 auto none 0 0 auto
flex-grow容器的扩展比率
flex-shrink容器的收缩比率
flex-basis容器的伸缩基准值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值