当前位置: 首页 > article >正文

Flex布局

flex是 W3C 提出的一种新的布局方案

当我将某一元素设置为 display:flex 时,这个元素所包含的直接子元素就成为了我的子民

 但是我发现我无法控制我的子民,

首先我要解决的是我要控制子民的方向

flex-direction: 

  • row 以行排列
  • row-reverse 反向以行排列
  • column 以列排列
  • column-reverse 反向以列排列

  

时间长了我发现当我赋予每个子民宽度,但是他们在一行显示不下时,依然会挤占一行 ,但这不并不是我想要的,有时我想要换行,所以我诞生了新的方法

flex-wrap:

  • nowrap 不换行
  • wrap 换行
  • wrap-reverse 反向换行

 

接下来我需要解决的就是子民之间的排列

对于子民在主轴方向的排列 justify-content

交叉轴上用 align-items

justify-content:

  • flex-start
  • flex-end
  • center
  • space-between
  • space-around

 

align-items:

  • flex-start
  • flex-end
  • center
  • baseline
  • stretch

 

flex-start、flex-end、center和前面一致,baseline 和 stretch 是特有的

 

baseline其实是以第一行文字为基准线进行排列,也就是123它们在一行

stretch 是某个元素没有设置高度的时候它会自动撑满

行与行之间的排列分布

当子元素过多时,就会多行显示

align-content:

  • flex-start
  • flex-end
  • center
  • space-between
  • space-around
  • strech

 

 

子民的单独排序

比如我想让我的子民不按默认排序,要单独进行个性排序

这时候我诞生了新的方法 order,order可以定义不同的数值,定义的数值越高就越往后排列

子民如何分配剩余空间

有的时候我的子民太少,有了剩余的空间,那剩余的空间我想分配给子民,这时候如何分配就成了新的问题,所以我诞生了新的方法 flex-grow 来定义分配比例

 如果按照1:1的比例来分配他们会增长同样的长度

2:1的比例

子民如何收缩空间

对于子民较多的情况下,有可能在一行显示不下,这时候就会涉及到子民收缩空间,也是摆在我面前新的问题,所以我定义了新的方法叫 flex-shrink 同样的,它们也是按数值比例进行缩放

按照2:1的比例缩小

 

后来我发现有时候我想单独设置某个子民的位置,所以我诞生了新的方法叫 align-self

align-self:

  • auto 默认属性
  • flex-start
  • flex-end
  • center
  • baseline
  • stretch

  

 

 


http://www.kler.cn/a/14947.html

相关文章:

  • 系统调用与用户态陷入内核态
  • AUTOSAR文档如何阅读 -- 这些缩写是干嘛的!!!
  • Ceph入门到精通-红帽 Ceph 存储 RGW 部署策略和规模调整指南
  • EU GMP附录一与关键区域空气微生物取样方案及相关法规标准解读
  • pycocoevalcap代码的使用和问题解决
  • 组播IGMPv1协议
  • vue/react项目刷新页面出现404的原因以及解决办法
  • Android 11.0 framework中根据包名设置某个app横屏显示
  • SpringBoot项目结构及依赖技术栈
  • Vue项目的性能优化
  • 每日学术速递4.24
  • Android开发:使用sqlite数据库实现记单词APP
  • Presslabs MySQL Operator
  • 第一次使用R语言
  • 2023五一杯C题公布
  • JAVA基本运算符与强制类型提升转换------JAVA入门基础教程
  • 黑马程序员Java零基础视频教程笔记-运算符
  • 放射学中的自然语言处理技术综述
  • java异常处理 throws、throw、try...catch..finally
  • 分布式系统反向代理设计与正向代理