美文网首页
2018-10-01flex布局学习

2018-10-01flex布局学习

作者: 计院小菜鸟 | 来源:发表于2018-10-07 15:55 被阅读0次

flex布局是什么


Flex是Flexible Box的缩写,翻译为“弹性布局”。它决定了元素如何在页面中排列,在不同的屏幕尺寸和设备下可以很好的展现。和传统的布局相比,该布局拥有很大的灵活性。

了解flex布局的三个核心概念


1.flex容器。顾名思义就是采用flex布局的一个组件。

2.flex项。就是需要放在容器中的元素咯。

3.排列方式。即flex项在flex容器中怎样摆放,决定了flex项的布局方向,称之为主轴。

啥时候使用该布局,啥时候不用


1.任何一个容器都可以使用flex布局。使用方法如下:

定义一个容器,使用display:flex属性即可 默认情况下flex项从左到右排列为一行

2.整体页面布局时不建议使用该布局。

flex容器六大属性


1.flex-direction:决定主轴的方向,即flex项的排列方式

可取值: 

row(默认值):flex项从左到右排列。(此例如上默认情况)

row-reverse:flex项从右往左排列。

flex项从右至左排列

column:flex项从上到下排列。

flex项排从上到下排成一列

column-reverse:flex项从下到上排列。

flex项从下到上排成一列

2.flex-wrap:决定flex项一条轴线排不下时如何换行

可取值:

nowrap(默认):不换行。

与下图做对比。 对比两图发现当flex项宽度大于容器宽度时,它不换行,只是按比例缩小flex项宽度,直至适应flex容器宽度

wrap:换行。第一行在上面。

wrap-reverse:换行,第一行在下面。

3.flex-flow:该属性是flex-direction与flex-wrap的简写形式。默认row nowrap。

row nowrap(默认值):

flex项从左到右排列且不换行,而是缩小比例。

row  wrap:

flex项从左到右排列,且换行时第一行在上面

row wrap-reverse:

flex项从左到右排列,且换行时第一行在下面

row-reverse nowrap:

flex项从右向左排列且不换行,而是缩小比例

row-reverse wrap:

flex项从右到左排列,换行且第一行在上面

row-reverse wrap-reverse:

flex项从右到左排列,换行且第一行在下面

column nowrap:

column wrap:

column wrap-reverse:

column-reverse nowrap:

column-reverse wrap:

column-reverse wrap-reverse:

4.justify-content:定义flex项在主轴上的对齐方式。

可取值:

flex-start(默认值):左对齐。

flex项左对齐排列

flex-end:右对齐。

flex项右对齐排列

center:居中。

flex项在容器中居中显示

space-between:两端对齐,flex项之间的间隔相等。

仅flex项之间有间隔,且间隔相等

space-around:每个flex项之间的间隔相等。

每个flex项的两端都有间隔,且左右间隔相等。所以存在flex项之间的间隔比flex项与边框的间隔大一倍的情况。

5.align-items:定义flex项在交叉轴上如何对齐

可取值:

stretch(默认值):如果flex项未设置高度或设为auto,将占满整个容器的高度。

flex项未设置高度,但是会充满容器的高度。

flex-start:交叉轴的起点对齐。

默认主轴方向为从左到右,则交叉轴为从上到下,交叉轴的起点即最上方。 主轴方向定义为从上到下,则交叉轴为从左到右,交叉轴的起点则为最左边。

flex-end:交叉轴的终点对齐。

默认主轴从左到右,交叉轴从上到下,所以交叉轴终点在最下边。

center:交叉轴的中点对齐。

利用此属性可设置组件在容器中垂直居中。

baseline:flex项的第一行文字的基线对齐。

6.align-content:定义了多根轴线的对齐方式,如果只有一根轴线时不起作用。

可取值:

flex-start:与交叉轴的起点对齐。

默认情况。交叉轴为从上到下。

flex-end:与交叉轴的终点对齐。

默认情况,交叉轴为从上到下。

center:与交叉轴的中点对齐。

此属性可设置组件垂直居中。

space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。

与交叉轴两端对齐。

space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。

给容器加背景色更容器看出来。

stretch:轴线占满整个交叉轴。

flex项的属性


1.order:定义flex项的排列顺序。

可取值:

整型,默认为0.

2.flex-grow:定义flex项的放大比例。

可取值:

默认为0,表示即使存在多余空间也不放大。

对比两图即可发现flex项放大了,充满容器。

3.flex-shrink:定义flex项的缩小比例。

可取值:

默认为1,表示如果空间不足就得缩小。

改成0时,即使空间不足也没有缩小flex项的大小。与下图对比。

4.flex-basis:定义在分配多余空间之前,flex项占据的主轴空间。

可取值:

默认为auto,即维持flex项之前的大小。

可设置flex项同样的大小。

5.flex:是flex-grow,flex-shrink,flex-basis的简写。

可取值:

默认为0 1 auto。

默认情况时:超过空间大小,缩小flex项。

none:即0 0 auto

超出空间大小也不缩小flex项大小。

auto: 即1 1 auto

6.align-self:允许单个flex项有与其他项不一样的对齐方式。

可取值:

默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。

单独设置flex项的对齐方式。

相关文章

  • 2018-10-01flex布局学习

    flex布局是什么 Flex是Flexible Box的缩写,翻译为“弹性布局”。它决定了元素如何在页面中排列,在...

  • Android零基础入门第30节:两分钟掌握FrameLayou

    前面学习了线性布局、相对布局、表格布局,那么本期来学习第四种布局——FrameLayout帧布局。 一、认识Fra...

  • 基础篇

    学习了安卓布局:LinearLayout(线性布局) RelativeLayout(相对布局)

  • 自学Android第七天——布局

    我们今天来学习各种布局吧,好看的界面都离不开布局和控件,之前我们学习了一些常用的控件,那么也来学习布局吧。布局其实...

  • Swift 学习之瀑布流布局

    Swift 学习之瀑布流布局 调用布局

  • 布局

    今天学习了安卓的四种布局方式 线性布局 相对布局 帧布局 百分比布局

  • 弹性布局总结

    1.flex弹性布局学习总结 2.弹性盒模型布局使用 布局案例: ...

  • 2018-07-18

    今天主要学习了flex布局,学习笔记如下: 1.指定flex布局: display:flex(任意容器)...

  • React-Native中的Flexbox布局

    RN 的 Flexbox 布局的学习笔记 1.什么是 Flexbox 布局? Flexbox,弹性布局,可以以响应...

  • android 第四课

    1. 这周主要是学习了微信的ui制作中五种布局的方式,分为线性布局相对布局绝对布局表格布局和帧布局,我们常用的...

网友评论

      本文标题:2018-10-01flex布局学习

      本文链接:https://www.haomeiwen.com/subject/aqbnoftx.html