美文网首页
flex布局,弹性布局(下)

flex布局,弹性布局(下)

作者: 托马斯翻滚 | 来源:发表于2018-11-07 21:13 被阅读0次

历经各种偷懒、鬼混,我终于迎来了这个系列的结束篇!撒花!

闲话少说,赶紧进入正题(今天别的学习任务还没完成呢,很急,让我们油门踩到底)。在前两篇文章中,对于flex布局的内容我们已经谈的差不多了,这里最后剩下一个内容就是项目属性,接下来我就按我的理解给大家阐述一下这个内容。

项目属性

flex布局中项目属性为一下6个:

  • order //号码,就是一个队列里你排几号
  • flex-grow //膨胀,就是有多余空间时的放大方式
  • flex-shrink //收缩,就是空间不足时的收缩方式
  • flex-basis //基值,每个项目在未膨胀未收缩前所占的空间
  • flex //前面三个的结合
  • align-self //私人对齐方式,这个后面再详细介绍,这里不太好说
    整体上来说项目属性就是上面这6个内容,接下来我一个个的谈一下。

1)order 号码

这个属性用来标注这个项目在队列中的号码,号码越小越靠前,其取值是<integer>,即任意的整数,具体用什么就看自己选了。
这里我重点讲两个细节,首先是这个属性的默认值是0;再然后就是当这个属性值存在相同的情况时,相同的部分就按正常结构中的顺序排列(这是不是该交文本流?这个概念我一直记不清名字)。

2)flex-grow 膨胀

这个属性我选择了我比较中意的解释,膨胀。至于其详细点的解释就是在存在剩余空间时项目放大分割剩余空间的比例。其取值是<number>,即任意的数字(字面上是这样的,但在具体使用这应该是限制在 >= 0范围内的),具体使用也是需要去具体考虑的。
关于这个内容我也将两点细节,首先是这个属性的默认值是0,但不同于上面的0,这个0还有一些小内容,就是当这个值为0时,即便存在剩余的空间也不会变化;再然后就是这个比率其实是个相对的概念,比如同一容器内所有项目都为1,那有剩余空间需要分配时大家分到的都是一样的,如果都是100,那依然是一样的。但是如果一个为2,别的全是1,那分配时这个为2的分到的就是别的项目的两倍,大体上就是这个意思,我相信机智的读者是能够理解的。

3)flex-shrink 收缩

这个属性其实是和上面那个属性对应的,即在空间不够放置项目时收缩的比例。取值也是<number>,对照上面的内容,简单的一批。
然后继续说细节,依然是两个点,首先是默认值,这个属性不同于膨胀,其默认值为1,即如果没改动的话,当空间不足时所有项目都等比收缩;其次等同于上面的内容,这个属性的值也是需要相对于同容器别的项目来看的,这里我就不多说了,对照上面的内容应该能很快理解的。

4)flex-basis 基值

这个属性决定的是项目未膨胀也未收缩时的所占的主轴空间,这里顺便强调一下,前面两个值也是以主轴空间为空间做变换的,就是很多时候都是宽这个属性对应的。这个属性的值主要分两类<length> | auto,即一个具体的长度或者自动。
接下来谈一些细节,第一点,当该属性值为auto时,决定项目默认占据空间的就是项目自身的width(少数情况里也会是height,就是主轴垂直方向的时候),并且auto是默认值;第二点,当项目本身存在width,flex-basis又是一个具体的长度时,项目依据flex-basis来渲染。

5)flex 前面三个结合

这个属性就很直接了,就是三个的结合,这里可能存在歧义,我就详细的写出来吧,是flex-grow、flex-shrink和flex-basis的结合,其取值也是有三个值组成,分别对应这三个属性。
细节上依然是两个内容,首先默认值为 0 1 auto(其实就是三个属性的默认值,具备效果前面谈过这里就不多说了);还有就是该属性有两个快捷值auto(1 1 auto)和none(0 0 auto)。

6)align-self 私人对齐方式

看见self这个单词想必大家就已经懂了,就一个私人的属性,再结合align,有点CSS基础的兄弟应该都懂,这肯定是私人对齐方式了。说正式点就是允许单个项目有自己的对齐方式。这个属性覆盖的是容器中的align-items属性,默认为auto,即由容器决定。取值上除了auto就是和align-items完全一样了。

到这里关于flex布局的内容我总算是写完了,瘫倒在地。这里再次重申,我写这个文章主要还是对自己所学知识的复习和总结,大多是自己的记忆和理解,可能存在问题,大家如果学习相关内容最好有别的内容对照,并且图文并茂会更容易的理解这一内容。

相关文章

  • css:About Flex

    * 弹性布局 * 创建弹性布局容器:flex containerdisplay:flex 1.弹性元素 flex ...

  • flex布局

    认识flex布局 flex布局(Flexible 布局,弹性布局)开启了flex布局的元素叫flex contai...

  • CSS3弹性布局 flexible boxes

    W3弹性布局: 弹性布局父容器(Flex Containers) 弹性布局子项(Flex Items) 子项于父容...

  • flex布局

    1、什么是flex布局? flex布局又叫弹性布局,弹性盒子,与怪异和模型布局不同,其布局能更精准。 2、如何设置...

  • Flex布局

    Flex Flex:弹性布局 React Native 的默认布局是flex布局 如果将父元素设置成弹性盒模型模式...

  • Flex布局(语法篇)

    一、介绍Flex布局 什么是Flex布局呢?Flex布局:又称弹性布局,它是Flexible Box 的缩写,它为...

  • Day02_flex布局

    一、flex布局介绍: 1、又名Flexible 布局,弹性布局;2、开启了 flex 布局的元素叫 flex c...

  • 前端概念解读

    弹性布局(flex): 30分钟彻底弄懂flex布局

  • 6Flex 布局

    Flex,(Flexible Box),意为"弹性布局"采用 Flex 布局的元素,为 Flex 容器(flex ...

  • Flex 布局

    Flex 布局 Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒...

网友评论

      本文标题:flex布局,弹性布局(下)

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