📌个人主页:个人主页
🧀 推荐专栏:小程序开发成神之路
📝作者简介:一个读研中创业、打工中学习的能搞全栈、也搞算法、目前在搞大数据的奋斗者。
⭐️您的小小关注是我持续输出的动力!
⭐️
文章目录
吃透小程序必备Flex布局
小程序作为移动端的应用,在设计小程序交互界面时,不同的div模块需要设计不同的排版布局,网页布局往往是前端UI设计中的重点和难点。
Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。
为什么我们需要Flex?
针对移动端的各式各样的屏幕比例,要将我们的小程序完美配置各类屏幕。我们往往需要考虑页面中的元素的边距是否能随着不同的屏幕适配比的改变而保持着良好的样式状态。Flex布局便可实现一套代码自动适配不同端的屏幕适配。完美解决你的元素布局的苦恼。
一、Flex基础语法
如图所示,蓝色矩形为flex容器,我们要将元素按照flex的语法规则进行样式布局之前,我们需要先弄清两个轴的概念,因为后续的属性都是围绕两个轴而展开。横向为主轴,纵向为侧轴。
1、display:flex
- 任何容器都可通过
display:flex
进行弹性布局的设置 - 行内元素使用
display: inline-flex
进行弹性布局的设置
2、flex-direction
flex-direction
决定主轴的方向(即项目的排列方向),其常用的属性有:
- row(默认值):主轴为水平方向,起点在左端。
- row-reverse:主轴为水平方向,起点在右端。
- column:主轴为垂直方向,起点在上沿。
- column-reverse:主轴为垂直方向,起点在下沿。
3、flex-wrap
默认情况下,项目都排在一条线(又称”轴线”)上。flex-wrap属性定义,如果一条轴线排不下,如何换行。
-
nowrap(默认):不换行。
-
wrap:换行,第一行在上方。
-
wrap-reverse:换行,第一行在下方。
4、flew-flow
flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
5、justify-content
justify-content属性定义了项目在主轴上的对齐方式。
- flex-start(默认值):左对齐
- flex-end:右对齐
- center: 居中
- space-between:两端对齐,项目之间的间隔都相等。
- space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。
6、align-items
align-items属性定义项目在交叉轴上如何对齐。
- flex-start:交叉轴的起点对齐。
- flex-end:交叉轴的终点对齐。
- center:交叉轴的中点对齐。
- baseline: 项目的第一行文字的基线对齐。
- stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
7、align-content
align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
- flex-start:与交叉轴的起点对齐。
- flex-end:与交叉轴的终点对齐。
- center:与交叉轴的中点对齐。
- space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
- space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
- stretch(默认值):轴线占满整个交叉轴。
二、Flex布局必备样例
Flex布局的样式相对较多,要一次性全记住有一定的难度。所以我们在平时使用时可以通过在线调试的方式对flex的效果进行可视化调整,从而最终选择我们想的效果。
推荐一个在线Flex布局样式生成神器:Flex布局在线可视化终极解决方案!