讲师中心 微信公众号

工具推荐

视频效率加速
Seko
Seko

AI短剧一键生成成片

AniShort
AniShort

AI短剧协同制作平台

updream

一键生成高质量推广成片

剧云
剧云

中文短剧剧本制作平台

微信小程序开发:Flex布局

轻婷小哥_6430

轻婷小哥_6430

发布时间:2016-11-10 09:48:58

|

3098人浏览过

|

来源于php中文网

原创

微信小程序页面布局方式采用的是 flex 布局。

Flex 布局,是W3c在2009年提出的一种新的方案,可以简便,完整,响应式的实现各种页面布局。

Flex布局提供了元素在容器中的对齐,方向以及顺序,甚至他们可以是动态的或者不确定的大小的。

Flex布局的主要特征是能够调整其子元素在不同的屏幕大小中能够用最适合的方法填充合适的空间。

14751150241.png

flex布局

Flex布局的特点:

  • 任意方向的伸缩,向左,向右,向下,向上

  • 在样式层可以调换和重排顺序

  • 主轴和侧轴方便配置

  • 子元素的空间拉伸和填充

  • 沿着容器对齐

微信小程序实现了 Flex 布局,简单介绍下 Flex 布局在微信小程序中的使用。

伸缩容器

设有 display:flex 或者 display:block 的元素就是一个 flex container (伸缩容器),里面的子元素称为 flex item (伸缩项目), flex container 中子元素都是使用 Flex 布局排版。

  • display:block 指定为块内容器模式,总是使用新行开始显示,微信小程序的视图容器(view,scroll-view和swiper)默认都是 dispaly:block 。

  • display:flex :指定为行内容器模式,在一行内显示子元素,可以使用 flex-wrap 属性指定其是否换行, flex-wrap 有三个值: nowrap(不换行) , wrap(换行) , wrap-reverse(换行第一行在下面)

使用 display:block (默认值)的代码:

<view class="flex-row" style="display: block;"> <view 
class="flex-view-item">1</view> <view 
class="flex-view-item">2</view>
      <view class="flex-view-item">3</view> </view>

显示效果:

14751150242.png

block

改换成 display:flex 的显示效果:

14751150243.png

flex

可以从效果图看到 block 和 flex 的区别,子元素 view 是在换行显示( block )还是行内显示( flex )。

主轴和侧轴

Flex 布局的伸缩容器可以使用任何方向进行布局。

容器默认有两个轴: 主轴(main axis) 和 侧轴(cross axis) 。

主轴的开始位置为 主轴起点 (main start),主轴的结束位置为 主轴终点 (main end),而主轴的长度为 主轴长度 (main size)。

同理侧轴的起点为 侧轴起点 (cross start),结束位置为 侧轴终点 (cross end),长度为 侧轴长度 (cross size)。详情见下图:


14751150244.png

Flex-direction

注意, 主轴 并不是一定是 从左到右 的,同理 侧轴 也不一定是 从上到下 ,主轴的方向使用 flex-direction 属性控制,它有4个可选值:

  • row :从左到右的水平方向为主轴

  • row-reverse :从右到左的水平方向为主轴

  • column :从上到下的垂直方向为主轴

  • column-reverse 从下到上的垂直方向为主轴

如果水平方向为主轴,那个垂直方向就是侧轴,反之亦然。

四种主轴方向设置的效果图:

14751150245.png

示例图

图中的实例展示了使用了不同的 flex-direction 值排列方向的区别。

实例代码:

<view > <view class="flex-row" style="display: flex;flex-direction: row;"> <view class="flex-view-item">1</view> <view class="flex-view-item">2</view> <view class="flex-view-item">3</view> </view> <view class="flex-column" style="display:flex;flex-direction: column;" > <view class="flex-view-item">c1</view> <view class="flex-view-item">c2</view>
        <view class="flex-view-item">c3</view> </view> </view>

运行效果:

14751150256.png

flex-direction

对齐方式

子元素有两种对齐方式:

  • justify-conent 定义子元素在主轴上面的对齐方式

  • align-items 定义子元素在侧轴上对齐的方式

  • jstify-content 有5个可选的对齐方式:

  • flex-start 主轴起点对齐(默认值)

  • flex-end 主轴结束点对齐

  • center 在主轴中居中对齐

  • space-between 两端对齐,除了两端的子元素分别靠向两端的容器之外,其他子元素之间的间隔都相等

  • space-around 每个子元素之间的距离相等,两端的子元素距离容器的距离也和其它子元素之间的距离相同。
    justify-content 的对齐方式和主轴的方向有关,下图以 flex-direction 为 row ,主轴方式是 从左到右 ,描述 jstify-content 5个值的显示效果:

14751150257.png

                                                                                                            justify-content

align-items 表示侧轴上的对齐方式:

  • stretch 填充整个容器(默认值)

  • flex-start 侧轴的起点对齐

  • flex-end 侧轴的终点对齐

  • center 在侧轴中居中对齐

  • baseline 以子元素的第一行文字对齐

align-tiems 设置的对齐方式,和侧轴的方向有关,下图以 flex-direction 为 row ,侧轴方向是 从上到下 ,描述 align-items 的5个值显示效果:

14751150258.png

aign-items

有了主轴和侧轴的方向再加上设置他们的对齐方式,就可以实现大部分的页面布局了。

相关文章

微信app下载
微信app下载

微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

SoundView
SoundView Hot

SoundView是一款面向跨境电商的视频翻译、配音和本地化 AI 创作平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

码上飞
码上飞 Hot

一款基于自然语言的AI应用开发平台,可根据用户描述自动生成应用程序,帮助个人和团队快速完成应用原型与开发。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

相关专题

更多
Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

60

2026.11.12

Go-Zero安装与goctl环境配置教程
Go-Zero安装与goctl环境配置教程

本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。

40

2026.11.12

Go-Zero零基础入门教程
Go-Zero零基础入门教程

本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。

20

2026.11.12

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

140

2026.11.06

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

120

2026.11.06

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

100

2026.11.06

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

100

2026.11.05

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

80

2026.11.05

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

80

2026.11.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn