一、小程序文档简单讲解
1.简易教程:教会你如何快速开发、发布一款小程序及小程序的大致结构
https://mp.weixin.qq.com/debug/wxadoc/dev/
2.框架:介绍小程序框架的具体内容,涉及到目录结构、逻辑分层、多线程处理、兼容性,自定义组件等问题
https://mp.weixin.qq.com/debug/wxadoc/dev/framework/MINA.html
3.组件:介绍小程序官方定义组件及其示例,负责视图层结构,相当于对框架组件内容的具体补充
https://mp.weixin.qq.com/debug/wxadoc/dev/component/
4.API:介绍微信原生的API,在js文件中进行逻辑层的处理,对于框架的具体补充
https://mp.weixin.qq.com/debug/wxadoc/dev/api/
5.工具:微信开发者工具的具体介绍
https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/devtools.html
二、项目开发
1.新建images图片目录,导入需要资源
2.新建首页(list)与分类(classify)目录并配置首页(list)为默认加载页(app.json中pages的首项为默认加载项)
3.设置tabBar
4.page.js文件中利用page函数注册页面,page.json中设置标题栏
page.js
Page()//页面注册函数
page.json
{
"navigationBarTitleText":"标题"//设置导航栏标题
}
5.编写页面结构
<view></view>标签相当于HTML中的<div></div>标签,由于小程序采用自身模板语法WXML因此无法采用HTML标签作为页面结构,如果需要使用HTML标签,小程序提供了一个组件叫做<rich-text></rich-text>富文本的组件
示例:
<!-- rich-text.wxml -->
<rich-text nodes="{{nodes}}" bindtap="tap"></rich-text>
// rich-text.js
Page({
data: {
nodes: [{
name: 'div',
attrs: {
class: 'div_class',
style: 'line-height: 60px; color: red;'
},
children: [{
type: 'text',
text: 'Hello World!'
}]
}]
},
tap() {
console.log('tap')
}
})
富文本介绍页:https://mp.weixin.qq.com/debug/wxadoc/dev/component/rich-text.html
组件介绍页:https://mp.weixin.qq.com/debug/wxadoc/dev/component/
6.页面样式调整
小程序官方的说法为(以下内容摘自小程序官方文档):
WXSS(WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式。
WXSS 用来决定 WXML 的组件应该怎么显示。
为了适应广大的前端开发者,WXSS 具有 CSS 大部分特性。同时为了更适合开发微信小程序,WXSS 对 CSS 进行了扩充以及修改。
与 CSS 相比,WXSS 扩展的特性有:
- 尺寸单位
- 样式导入
尺寸单位
- rpx(responsive pixel): 可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。
设备 | rpx换算px (屏幕宽度/750) | px换算rpx (750/屏幕宽度) |
---|---|---|
iPhone5 | 1rpx = 0.42px | 1px = 2.34rpx |
iPhone6 | 1rpx = 0.5px | 1px = 2rpx |
iPhone6 Plus | 1rpx = 0.552px | 1px = 1.81rpx |
建议: 开发微信小程序时设计师可以用 iPhone6 作为视觉稿的标准。
注意: 在较小的屏幕上不可避免的会有一些毛刺,请在开发时尽量避免这种情况。
样式导入
使用@import
语句可以导入外联样式表,@import
后跟需要导入的外联样式表的相对路径,用;
表示语句结束。
示例代码:
/** common.wxss **/
.small-p {
padding:5px;
}
/** app.wxss **/
@import "common.wxss";
.middle-p {
padding:15px;
}
内联样式
框架组件上支持使用 style、class 属性来控制组件的样式。
- style:静态的样式统一写到 class 中。style 接收动态的样式,在运行时会进行解析,请尽量避免将静态的样式写进 style 中,以免影响渲染速度。
<view style="color:{{color}};" />
- class:用于指定样式规则,其属性值是样式规则中类选择器名(样式类名)的集合,样式类名不需要带上
.
,样式类名之间用空格分隔。
<view class="normal_view" />
选择器
目前支持的选择器有:
选择器 | 样例 | 样例描述 |
---|---|---|
.class | .intro | 选择所有拥有 class="intro" 的组件 |
#id | #firstname | 选择拥有 id="firstname" 的组件 |
element | view | 选择所有 view 组件 |
element, element | view, checkbox | 选择所有文档的 view 组件和所有的 checkbox 组件 |
::after | view::after | 在 view 组件后边插入内容 |
::before | view::before | 在 view 组件前边插入内容 |
全局样式与局部样式
定义在 app.wxss 中的样式为全局样式,作用于每一个页面。在 page 的 wxss 文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖 app.wxss 中相同的选择器。