开始
文件类型与目录结构
微信客户端在打开小程序之前,会把整个小程序的代码包下载到本地。
紧接着通过 app.json 的 pages 字段就可以知道你当前小程序的所有页面路径:
|
|
这个配置说明在项目定义了两个页面,分别位于 pages/index/index 和 pages/logs/logs 目录。而写在 pages 字段的第一个页面就是这个小程序的首页(打开小程序看到的第一个页面)。
于是微信客户端就把首页的代码装载进来,通过小程序底层的一些机制,就可以渲染出这个首页。
小程序启动之后,在 app.js 定义的 App 实例的 onLaunch 回调会被执行:
|
|
整个小程序只有一个 App 实例,是全部页面共享的。
项目目录下面的以app开头的js、json、wxss文件是描述应用程序整个的状态,在全局里面是唯一的(因为只有一个应用程序)。
|
|
app.json中page的注册,只写了文件名,没有写后缀,这样并不是注册某一个wxml或者某一个js文件,而是注册名为welcome的所有文件,自动地把welcome相关的4种类型的文件关联再一起。
注册小程序页面以及组件的用法
- Swiper组件:做轮播
Flex弹性盒子模型

在flex容器中默认存在两条轴,水平主轴(main axis) 和垂直的交叉轴(cross axis)。
在容器中的每个单元块被称之为 flex item,每个项目占据的主轴空间为 (main size), 占据的交叉轴的空间为 (cross size)。
注意:不能先入为主认为宽度就是 main size,高度就是 cross size,这个还要取决于你主轴的方向,如果你垂直方向是主轴,那么项目的高度就是 main size。
flex-direction:决定主轴的方向(即项目排列方向)
css
.container {
flex-direction: row | row-reverse | column | column-reverse;
}
- 默认值:
row,主轴为水平方向,起点在左端。

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

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

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

flex-wrap:决定容器内项目是否可换行。
默认情况下,项目都排在主轴线上,使用flex-wrap可实现项目的换行。
|
|
- 默认值:
nowrap不换行,即当主轴尺寸固定,当空间不足时,项目尺寸会随之调整而不会挤到下一行。

wrap:项目主轴尺寸超出容器时换行,第一行在上方。

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

justify-content:定义了项目在主轴的对齐方式。
|
|
- 默认值:
flex-start左对齐。

flex-end:右对齐。

center:居中。

space-between:两端对齐,项目之间的间隔相等,即剩余空间等分成间隙。

space-around:每个项目两侧的间隔相等,所以项目之间的间隔比项目与边缘的间隔大一倍。

align-items:定义了项目再交叉轴上的对齐方式
|
|
主轴为水平方向,即flex-direction: row
- 默认值为
stretch:如果项目未设置高度或者设置为auto,将占满整个容器的高度。

假设容器高度为100px,而项目都没有设置高度的情况下,则项目的高度也为100px。
first-start:交叉轴的起点对齐

假设容器高度设置为 100px,而项目分别为 20px, 40px, 60px, 80px, 100px, 则如上图显示。
flex-end:交叉轴的终点对齐

center:交叉轴的中点对齐

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

移动端分辨率及小程序自适应单位RPX
rpx单位是微信小程序中css的尺寸单位,rpx可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。
参考资料:微信小程序开发文档
