微信小程序 flexbox layout快速实现基本布局的解决方案


Posted in Javascript onMarch 24, 2020

问题描述

flexbox layout ——弹性盒子布局。弹性盒子可以快速的对小程序进行布局。一般传统的小程序布局方法对内容量少的页面而言很方便,但对页面比较复杂的来讲就很繁琐了。所以使用 flexbox layout 对小程序页面内容进行整体封装布局,这样既方便又快捷。那么如何使用弹性盒子快速实现小程序的基本布局呢?

传统的布局方式对布局目标的实现属性赋值非常的分散,严重依赖内容的大小和页面的结构,这样操作起来非常的麻烦。而弹性盒子就比较灵活、统一,可以对整个页面的布局进行总体把控设置。弹性盒子就是将页面的内容整体放进一个容器里面进行整体的有结构的布局设置让页面更加和谐。

解决方案

首先,对 flexbox layout 的使用方法进行简单介绍。

先将所需封装的内容放在一个 view 容器里面,再对该 view 容器定义一个 class 。然后需要在 wxss 里面对 class 进行设置布局。

在 wxss 中首先用 display : flex 将 view 容器变成一个弹性盒子,但是弹性盒子默认的主轴方向是从左往右所以每个元素都是从左往右的放置。根据自己的需要修改主轴的方向。

这里以从上往下的主轴方向,垂直方向上均匀分布,元素在水平方向上居中显示为例。在 wxss 用 flex-direction : column 来实现从上到下的布局。但是会发现段与段之间太紧促了,这个时候就需要让段落均匀分布,用 justify-content : space-around 来实现。(注意:在使用 justify-content 的时候我们需要根据自己设置的布局方向对页面的高度(宽度)进行适配,小程序会根据你所设置的对段落间的空间进行调整。)。最后让元素在水平方向上居中显示,需要用 align-items : center 来实现。

下面是用两个弹性盒子(一个是垂直方向,另一个是水平方向)布局的案例代码:

表 3.1.wxml 代码

<view>
<image src="/pages/img/ 宣传图 2.jpg"></image>
<text> 从我做起 </text>
<text> 不信谣!不传谣! </text>
<text> 相信政府!相信国家! </text>
</view>
<view>
<text> 戴口罩,勤洗手 </text>
<text> 不扎堆,拒聚餐 </text>
<text> 吃熟食,禁野味 </text>
<text> 常通风,勿恐慌 </text>
<text> 早就医,莫轻视 </text> 
</view>

表 3.2.wxss 代码

.container1{
height: 80vh;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
color: red;
background-color: yellow
}
.container2{
background-color: yellow;
height: 20vh;
width: 70vh;
display: flex;
flex-direction: row;
justify-content: space-around;
align-items: center;
color:blue
}
.view1{
height: 650rpx;
width: 550rpx
}

效果图展示:

微信小程序 flexbox layout快速实现基本布局的解决方案

图 3.1

flexbox layout 的属性总结:

弹性盒子布局具有六大属性:

( 1 ) flex-direction 属性决定主轴的方向

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

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

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

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

( 2 ) flex-wrap属性决定元素的换行

nowrap (默认):不换行。

wrap :换行,第一行在上方

wrap-reverse:换行,第一行在下方。

( 3 ) flex-flow 属性是 flex-direction 属性和 flex-wrap 属性的简写形式

( 4 ) justify-content 属性定义内容在主轴上的对齐方式。

flex-start(默认值):左对齐。

flex-end:右对齐。

center : 居中。

space-between:两端对齐,项目之间的间隔都相等。

space-around:每个项目两侧的间隔相等。

( 5 ) align-items 属性定义项目在交叉轴上如何对齐。

flex-start:交叉轴的起点对齐。

flex-end:交叉轴的终点对齐。

center :交叉轴的中点对齐。

baseline: 项目的第一行文字的基线对齐。

stretch(默认值):如果项目未设置高度或设为auto ,将占满整个容器的高度。

( 6 ) align-content 属性定义了多根轴线的对齐方式

flex-start:与交叉轴的起点对齐。

flex-end:与交叉轴的终点对齐。

center :与交叉轴的中点对齐。

space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。

space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。

stretch(默认值):轴线占满整个交叉轴。

结语

flexbox layout 弹性盒子布局以上只是介绍了简单的容器属性。由上面的介绍和代码例子可以看出用它来对页面布局非常的方便和快捷,所写的代码也十分精简。掌握弹性盒子的容器属性就可以轻松的玩转小程序的页面布局,高效又简单。

到此这篇关于微信小程序 flexbox layout快速实现基本布局的解决方案的文章就介绍到这了,更多相关小程序flexbox layout布局内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
对象特征检测法判断浏览器对javascript对象的支持
Jul 25 Javascript
javascript中利用数组实现的循环队列代码
Jan 24 Javascript
js二维数组排序的简单示例代码
Jan 24 Javascript
json的定义、标准格式及json字符串检验
May 11 Javascript
JS+CSS实现六级网站导航主菜单效果
Sep 28 Javascript
JS+CSS3模拟溢出滚动效果
Aug 12 Javascript
详解jQuery中关于Ajax的几个常用的函数
Jul 17 jQuery
import与export在node.js中的使用详解
Sep 28 Javascript
angularjs性能优化的方法
Sep 05 Javascript
three.js 如何制作魔方
Jul 31 Javascript
微信小程序中data-key属性之数据传输(经验总结)
Aug 22 Javascript
js实现简易点击切换显示或隐藏
Nov 29 Javascript
安装多版本Vue-CLI的实现方法
Mar 24 #Javascript
js实现页面图片消除效果
Mar 24 #Javascript
js实现消灭星星(web简易版)
Mar 24 #Javascript
JavaScript实现移动端带transition动画的轮播效果
Mar 24 #Javascript
javascript实现滚动条效果
Mar 24 #Javascript
Webpack中SplitChunksPlugin 配置参数详解
Mar 24 #Javascript
JS实现点星星消除小游戏
Mar 24 #Javascript
You might like
一篇不错的PHP基础学习笔记
2007/03/18 PHP
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
ECMA5数组的新增方法有哪些及forEach()模仿实现
2015/11/03 Javascript
js+css绘制颜色动态变化的圈中圈效果
2016/01/27 Javascript
JS访问DOM节点方法详解
2016/11/29 Javascript
详解node单线程实现高并发原理与node异步I/O
2017/09/21 Javascript
angular动态表单制作
2018/02/23 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
2018/09/14 Javascript
Vue实现一个图片懒加载插件
2019/03/11 Javascript
[46:48]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第三局
2016/02/25 DOTA
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
Python进阶篇之字典操作总结
2016/11/16 Python
浅谈python中requests模块导入的问题
2018/05/18 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
Python实现的各种常见分布算法示例
2018/12/13 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
python实现桌面气泡提示功能
2019/07/29 Python
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
extern在函数声明中是什么意思
2014/01/19 面试题
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
毕业生的自我评价
2013/12/30 职场文书
电脑租赁公司创业计划书
2014/01/08 职场文书
中学自我评价
2014/01/31 职场文书
珠宝店促销方案
2014/03/21 职场文书
颁奖典礼主持词
2014/03/25 职场文书
安全承诺书范文
2014/03/26 职场文书
大学生求职信范文
2014/05/24 职场文书
医院党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
公务员年度考核评语
2014/12/31 职场文书
大学生个人学年总结
2015/02/15 职场文书
工商行政处罚决定书
2015/06/24 职场文书