FlexBox 弹性盒模型布局 - 父控件篇

2017-08-16  本文已影响0人  土豆萝卜君

弹性布局(flexble box)模块指在提供一个更加有效的方式来布置,对齐和分部在容器之间的各项内容,即使它们的大小是未知或者动态变化的。它的主要思想是让容器有能力来改变项目的宽度和高度,以填满可用空间(主要是为了容纳所有类型的显示设备和屏幕尺寸)的能力。

Flexbox是一个整体模块,而不是单一的一个属性,它涉及到了很多东西,包括它的整个属性集,所有它需要在父容器设置也有的需要在子控件设置。

flexbox.png

基本上 伸缩项目是沿着主轴(main axis),从主轴起点(main start)到主轴终点(main end)或者沿着侧轴(cross axis),从侧轴起点(cross-start)到侧轴终点(cross-end)排列

属性介绍
display: flex | inline-flex (适用于父类容器元素上)

定义:一个flex容器,内联或者根据指定的值,来作用于下面的子类容器。

1.css 列(CSS columns)在弹性盒子中不起作用
2.float, clear and vertical-align 在flex项目中不起作用

flex-direction (适用于父类容器的元素上)

定义:设置或检索伸缩盒对象的子元素在父容器中的位置。
flex-direction: row | row-reverse | column | column-reverse

Flex-Direction Demo

flex-wrap (适用于父类容器上)

定义:设置或检索伸缩盒对象的子元素超出父容器时是否换行
flex-wrap: nowrap | wrap | wrap-reverse

Flex-Wrap Demo

flex-flow (适用于父类容器上)

定义:复合属性。设置或检索伸缩盒对象的子元素排列方式。
flex-flow: <‘flex-direction’> || <‘flex-wrap’>

Flex-Flow Demo

justify-content (适用于父类容器上)

定义: 设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式。当弹性盒里一行上的所有子元素都不能伸缩或已经达到其最大值时,这一属性可协助对多余的控件经行分配。 当元元素溢出某行时,这一属性同样会在对齐上进行控制

justify-content: flex-start | flex-end | center | space-between | space-around

Justify-ContentDemo

align-items (适用于父类容器上)

定义:设置或检索弹性盒子元素在侧轴(纵轴)方向上的对齐方式。
align-items: flex-start | flex-end | center | baseline | stretch

align-content (适用于父类容器上)

定义:设置或检索弹性盒堆叠伸缩行的对齐方式
align-content: flex-start | flex-end | center | space-between | space-around | stretch

Align-Content Demo

参考文章:
flexbox-CSS3弹性盒模型flexbox布局完整版教程

上一篇 下一篇

猜你喜欢

热点阅读