felx弹性盒子

简介:

弹性盒子(flex,inline-flex)是一种新的布局模式,它可以根据页面需要适应不同的屏幕大小,这种新的布局方式与传统的浮动定位相比方便了很多,为开发人员减轻了很多压力,兼容性也很好,目前的主流浏览器基本上都是可以完美支持的。那么让我们一起来看看神奇的弹性盒子吧。

弹性盒子的属性

属性 简介
flex-grow 设置弹性盒子的扩展比率
flex-shrink 设置弹性盒子的收缩比率
flex-basis 设置弹性盒子的宽度
flex-direction 设置弹性盒子的子元素在父元素中排放方式
flex-wrap 设置弹性盒子的子元素超出父容器宽度时是否换行
align-content 设置弹性盒子堆叠伸缩行的对齐方式
align-items 设置弹性盒子元素在纵轴方向上的对齐方式
align-self 设置弹性盒子自身在纵轴方向上的对齐方式
justify-content 设置弹性盒子在主轴方向上的对齐反方式
order 设置弹性盒子对象子元素出现的顺序

让我们一起来看看这些属性吧!
felx弹性盒子
felx弹性盒子
三个盒子就跟浮动一样排列在了一起是不是很神奇呢?如果我们把flex改成inlin-flex会怎么样呢?
felx弹性盒子
那么我们来看看效果会有什么不同
felx弹性盒子
好像完全一样啊,是怎么一回事呢?其实这里的inline-flex跟inline-bloke是一样的,后面如果再有元素那么他们将会并排排列,如果没有跟flex的显示是完全一样的。

flex-direction:
felx弹性盒子
felx弹性盒子
flex-wrap:
felx弹性盒子
felx弹性盒子
align-content和justify-content实现居中的效果
在没学弹性盒子之前我们的句中要设置margin啊 定位还要计算等等之类的但是弹性盒子给我们提供了很大的便利,我们一起来看看如何实现元素的居中。
felx弹性盒子
felx弹性盒子
下面我们一起看看盒子排放的顺序问题,从左到右,从上到下都是可以的,
felx弹性盒子
我们依次来看看这些效果
felx弹性盒子
felx弹性盒子
felx弹性盒子
felx弹性盒子
felx弹性盒子
align-content的属性跟这个一致,但是不是在主轴,是在侧轴上进行排列。动动小手去试试吧。

我们来看看order属性,可以自定义排放的顺序。order的排列方式是从小到大的,值越小就在前面,值可以为负数,默认值是0。
felx弹性盒子
让我们来看看是否跟我们想象中的效果一样,从小到大排列。
felx弹性盒子
-100 < -1 < 100 达到我们想要的效果。

flex-grow:重点
felx弹性盒子
felx弹性盒子

flex-shrink 重点
felx弹性盒子
felx弹性盒子
注意:宽度一定要是元素的实际宽度,做运算后,如果遇到小数需要保留两位小数。
点击开启新的大陆