弹性盒子

day10-弹性盒子模型


一、什么是伸缩盒模型flexbox

伸缩盒模型也叫弹性盒模型,或flexbox。它决定一个盒子在其它盒子中的分布,以及如何处理可用的空间。使用该模型,可以轻松的创建“自适应”浏览器窗口的流动布局。

目的:在浏览器窗口发生变化时,盒子相应改变大小。

(一)flexbox的基础知识

由于flexbox是一个整体的模块,他们之间一些属性是在父容器上设置,而一些是在子容器上设置。

(二)基本概念

1、概念

采用flex布局 的元素,称之为flex容器,简称容器。所以子元素称之为容器成员,简称项目,项目是可以再父容器中弹性布局的。

2、声明

任何元素都可以被声明成为flew布局

块元素: display:flex;       行内元素:inline-flex;

二、属性

(一)容器的属性

1、flex-direction

决定主轴的方向,即项目的排列顺序

row(默认值):主轴为水平方向,七点在左端。

row-reverse:主轴为水平方向,起点在左侧。

column:主轴为垂直方向,起点在上沿。

column-reverse:主轴为垂直方向,起点在下沿。


2、flex-warp

默认情况下,项目都排在一条线上。如果一天轴线拍不下,那如何换行。

nowarp:(默认)不换行

warp:换行

warp-reverse:换行,第一行在下方。

3、flex-flow

flex-flow属性是flex-direction与flew-warp的符合属性,默认值是row nowarp。

4、justify-content

设置项目在主轴的对齐方式

flex-start:(默认)左对齐

flex-end:右对齐

center:居中对齐

space-between:两端对齐

space-around:平均分布

5、align-items

定义项目在纵轴上如何对齐。

flex-start:(默认)顶部对齐

flex-end:底部对齐

center:居中对齐

stretch:(默认值)如果项目未设置高度默认这个属性,将占满整个容器的高度。

6、align-content

定义多主轴对齐方式,如果项目只有一根轴线,该属性不起作用

flex-start:(默认)顶部对齐

flex-end:底部对齐

center:居中对齐

space-between:与交叉轴两端对齐

space-around:每根轴线两侧的间隔都相等

stretch(默认值):如果没设置默认高度,轴线占满整个交叉轴。

(二)项目中的属性

伸缩盒中的每一个元素称之为一个项目

1、order

定义项目的排列顺序,数值越小,排列越靠前,默认为0。order:<interger>【order:1】

2、flex-grow

属性定义项目的放大比例,默认值为0 ,即使存在剩余空间也不放大。默认为0 ,1是放大,二是1的双倍大小,以此类推。

3、flex-basis

在、设置在分配多余空间之前,项目占据主轴的空间。 固定大小:默认是auto,即项目本来大小,可以设置px值,也可以设置百分百大小

4、align-self

允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto。表示继承父容器的 align-item属性。

auto(默认):表示继承父容器的align-item属性。

flex-start:顶部对齐

flex-end:底部对齐

center:居中对齐

stretch:上下对齐并铺满

5、flex-shrink

定义子元素是否缩小

flex-shrink:<number>; 默认值是1,空间不足会缩小,值为0不缩小。

6、flex

flex属性是flex-grow,flex-shrink和flex-basis的简写,默认值为0、 1 、 auto。后两个属性可选  


三、伸缩盒实例

(一)筛子

(二)百度地图

(三)旧的伸缩盒

伸缩盒从被提出到如今一直在修改,所以这里涉及到新老写法。

1、版本问题

伸缩盒最老版本 display:box;

过渡盒过渡版本  display:flexbox;

最新版本:display:flex;

四、浏览器内核以及其前缀

1、Webkit内核   前缀-webkit-  谷歌内核

2、Gecko内核     前缀为-moz-   火狐浏览器

3、Trident内核     前缀为-ms-  IE内核

4、Presto内核 前缀-o- opera浏览器

     










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值