吐血整理!一文吃透小程序必备Flex布局

简介: 吐血整理!一文吃透小程序必备Flex布局

吃透小程序必备Flex布局

小程序作为移动端的应用,在设计小程序交互界面时,不同的div模块需要设计不同的排版布局,网页布局往往是前端UI设计中的重点和难点。

Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。


为什么我们需要Flex?

针对移动端的各式各样的屏幕比例,要将我们的小程序完美配置各类屏幕。我们往往需要考虑页面中的元素的边距是否能随着不同的屏幕适配比的改变而保持着良好的样式状态。Flex布局便可实现一套代码自动适配不同端的屏幕适配。完美解决你的元素布局的苦恼。


一、Flex基础语法

ee91f98a3c609c697a635344fe7bfb1d.png如图所示,蓝色矩形为flex容器,我们要将元素按照flex的语法规则进行样式布局之前,我们需要先弄清两个轴的概念,因为后续的属性都是围绕两个轴而展开。横向为主轴,纵向为侧轴。


1、display:flex

  • 任何容器都可通过display:flex进行弹性布局的设置
  • 行内元素使用display: inline-flex进行弹性布局的设置


2、flex-direction

flex-direction决定主轴的方向(即项目的排列方向),其常用的属性有:

  • row(默认值):主轴为水平方向,起点在左端。

cab3b6303bb1bb342b4f6b6ca09f5fd8.png


  • row-reverse:主轴为水平方向,起点在右端。

e8aa5aacc9f38b39bb34c4cab3810c66.png


  • column:主轴为垂直方向,起点在上沿。

a0b0ea74f2e1c6ba66a028705311434c.png


  • column-reverse:主轴为垂直方向,起点在下沿。

445642ea18f43bcec10d9c68b952f9b9.png


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布局在线可视化终极解决方案!

0b4acd4d13edee950f08bf34adec6d10.png

相关文章
flex布局属性简介
flex布局属性简介
|
7天前
|
弹性计算 前端开发 容器
【前端web入门第六天】02 flex布局
Flex布局是一种现代CSS布局模式,通过给父元素设置`display: flex`,其子元素可自动挤压或拉伸。它包含弹性容器和弹性盒子,主轴默认为水平方向,侧轴为垂直方向。主轴对齐方式由`justify-content`属性控制,侧轴对齐方式包括`align-items`(针对所有子元素)和`align-self`(针对单个子元素)。修改主轴方向使用`flex-direction`属性,`flex`属性用于控制子元素在主轴上的伸缩比例。此外,`flex-wrap`属性允许子元素换行,而`align-content`属性则定义多行对齐方式。
|
1月前
|
前端开发
FLex布局详解
Flex布局通过`flex-direction`定义主轴方向,包括横向`row`、反向横向`row-reverse`、纵向`column`及反向纵向`column-reverse`。`justify-content`控制主轴上子元素的排列,如起始端`flex-start`、末端`flex-end`、居中`center`、等间距`space-around`或两端对齐`space-between`。在Y轴上设置这些同样有效。`flex-wrap: wrap`使子元素在需要时换行。`align-items: center`实现侧轴(交叉轴)上的居中对齐
46 1
FLex布局详解
|
21天前
|
JavaScript
Vue3弹性布局(Flex)
这是一个基于 Vue 的弹性布局组件库,提供了丰富的参数配置,如宽度、方向、换行等,支持自定义对齐方式和间隙设置。在线预览展示了不同布局效果,包括单选、按钮和滑动输入条等组件的使用示例。
Vue3弹性布局(Flex)
|
29天前
|
前端开发 容器
掌握弹性盒子布局(Flex):打造灵活的网页布局
掌握弹性盒子布局(Flex):打造灵活的网页布局
|
1月前
|
容器
|
1月前
|
前端开发 JavaScript API
如何在 Angular 中使用 Flex 布局
如何在 Angular 中使用 Flex 布局
28 0
|
2月前
|
编解码 前端开发 容器
CSS Flex布局实战案例:构建响应式卡片组件
【7月更文挑战第17天】通过上述步骤,我们成功地使用CSS Flex布局构建了一个响应式的卡片组件。Flexbox不仅简化了布局代码,还让我们能够轻松实现复杂的布局效果,如响应式设计。在实战中,掌握Flexbox将大大提高前端开发的效率和网页布局的质量。希望这个案例能够帮助你更好地理解和应用Flexbox布局。
|
2月前
|
前端开发
css的flex布局中使用margin:auto智能分配剩余空间
css的flex布局中使用margin:auto智能分配剩余空间
35 1
|
2月前
|
小程序
【微信小程序】英文字母不换行问题 flex布局字符超出宽度折行问题:设置了word-break: break-all;和flex: 1;冲突flex不生效问题
【微信小程序】英文字母不换行问题 flex布局字符超出宽度折行问题:设置了word-break: break-all;和flex: 1;冲突flex不生效问题
47 1