css弹性盒子(flex-direction、flex-wrap、flex-flow篇)

一.什么是弹性盒子

弹性盒子是 CSS3 的一种新的布局模式。

CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。

引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间。

二.CSS 弹性盒子内容

弹性盒子由弹性容器(Flex container)和弹性子元素(Flex item)组成。

弹性容器通过设置 display 属性的值为 flex 或 inline-flex将其定义为弹性容器。

弹性容器内包含了一个或多个弹性子元素。

注意: 弹性容器外及弹性子元素内是正常渲染的。弹性盒子只定义了弹性子元素如何在弹性容器内布局。

弹性子元素通常在弹性盒子内一行显示。默认情况每个容器只有一行。

以下元素展示了弹性子元素在一行内显示,从左到右:

css弹性盒子(flex-direction、flex-wrap、flex-flow篇)

 

 网页效果如下:css弹性盒子(flex-direction、flex-wrap、flex-flow篇)

三.CSS 弹性盒子常用属性

属性 描述
flex-direction 指定弹性容器中子元素排列方式
flex-wrap 设置弹性盒子的子元素超出父容器时是否换行
flex-flow flex-direction 和 flex-wrap 的简写
align-items 设置弹性盒子元素在侧轴(纵轴)方向上的对齐方式
align-content 修改 flex-wrap 属性的行为,类似 align-items, 但不是设置子元素对齐,而是设置行对齐
justify-content 设置弹性盒子元素在主轴(横轴)方向上的对齐方式

本篇博客先分享flex-direction、flex-wrap、flex-flow的使用:

1. flex-direction 属性

决定项目的方向。

注意:如果元素不是弹性盒对象的元素,则 flex-direction 属性不起作用。

 css弹性盒子(flex-direction、flex-wrap、flex-flow篇)

 

css弹性盒子(flex-direction、flex-wrap、flex-flow篇)

 

 

 属性值:

描述
row 默认值。元素将水平显示,正如一个行一样。
row-reverse 与 row 相同,但是以相反的顺序。
column 元素将垂直显示,正如一个列一样。
column-reverse 与 column 相同,但是以相反的顺序。

2. flex-wrap 属性

flex-wrap 属性规定flex容器是单行或者多行,同时横轴的方向决定了新行堆叠的方向。

描述
nowrap 默认值。规定元素不拆行或不拆列。
wrap 规定元素在必要的时候拆行或拆列。
wrap-reverse 规定元素在必要的时候拆行或拆列,但是以相反的顺序。

 

css弹性盒子(flex-direction、flex-wrap、flex-flow篇)

 

 可以取三个值:
(1) nowrap (默认):不换行。

css弹性盒子(flex-direction、flex-wrap、flex-flow篇)

(2)wrap:换行,第一行在上方。

css弹性盒子(flex-direction、flex-wrap、flex-flow篇)

(3)wrap-reverse:换行,第一行在下方。

css弹性盒子(flex-direction、flex-wrap、flex-flow篇)

 

3. flex-flow 属性

flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap

css弹性盒子(flex-direction、flex-wrap、flex-flow篇)

 

上一篇:Java面向对象高级部分——Java运行需要的线程(四十四)


下一篇:C++ 优先队列(priority_queue)用法