WXSS模板样式
一、WXSS 模板样式
1、什么是 WXSS
WXSS (WeiXin Style Sheets)是一套样式语言,用于美化 WXML 的组件样式,类似于网页开发中的 CSS。
2、WXSS 和 CSS 的关系
WXSS 具有 CSS 大部分特性,同时,WXSS 还对 CSS 进行了扩充以及修改,以适应微信小程序的开发。
与 CSS 相比,WXSS 扩展的特性有:
1.rpx 尺寸单位
2.@import 样式导入
二、WXSS 模板样式 - rpx
1、什么是 rpx 尺寸单位
rpx(responsive pixel)是微信小程序独有的,用来解决屏适配的尺寸单位。
2、rpx 的实现原理
rpx 的实现原理非常简单:鉴于不同设备屏幕的大小不同,为了实现屏幕的自动适配,rpx 把所有设备的屏幕,在宽度上等分为 750 份(即:当前屏幕的总宽度为 750rpx)。
- 在较小的设备上,1rpx 所代表的宽度较小
- 在较大的设备上,1rpx 所代表的宽度较大
小程序在不同设备上运行的时候,会自动把 rpx 的样式单位换算成对应的像素单位来渲染,从而实现屏幕适配。
三 、WXSS 模板样式 - 样式导入
1、什么是样式导入
使用 WXSS 提供的 @import 语法,可以导入外联的样式表。
2、@import 的语法格式
@import 后跟需要导入的外联样式表的相对路径,用 ; 表示语句结束。示例如下:
四、WXSS 模板样式 - 全局样式和局部样式
1、全局样式
定义在 app.wxss 中的样式为全局样式,作用于每一个页面。
2、局部样式
在页面的 .wxss 文件中定义的样式为局部样式,只作用于当前页面。
注意:
当局部样式和全局样式冲突时,根据就近原则,局部样式会覆盖全局样式
当局部样式的权重大于或等于全局样式的权重时,才会覆盖全局的样式
五、全局配置
1.全局配置文件以及常用的配置项:
小程序根目录下的app.jason文件是小程序的全局配置文件。常用的配置项如下:
①pages:记录当前小程序所有页面的存放路径
②window:全局设置小程序窗口的外观
③tabBar:设置小程序底部的tabBar效果
④style:是否启用新版的组件样式
全局配置-window
1.小程序窗口的组成部分:
其中导航栏区域和背景区域可以由window节点来配置
2.了解window节点常用的配置项:
全局配置-tabBar
1.什么是tabBar:tabBar用于实现多页面的快速切换,通常将其分为:
①顶部tabBar
②底部tabBar
注意:tabBar中只能配置最少2个、最多5个tab页签;当渲染顶部tabBar时,不显示icon(图标),只显示文本。
2.tabBar的6个组成部分:
①backgroudColor:tabBar的背景色
②selectedIconPath:选中时图片路径
③borderStyle:tabBar上边框的颜色
④iconPath:未选中的图片路径
⑤selectedColor:tab上的文字选中时的文字
⑥color:tab上文字默认(未选中)颜色
3.tabBar节点的配置项
4.每个tab项的配置选项:
演示效果如下:
六、页面配置
1.页面配置文件的作用:
小程序中,每个页面都有自己的.jason配置文件,用来对当前页面的窗口外观、页面效果等进行配置。
2.页面配置与全局配置的关系:
小程序中,app.json 中的 window 节点,可以全局配置小程序中每个页面的窗口表现。
如果某些小程序页面想要拥有特殊的窗口表现,此时,“页面级别的 .json 配置文件”就可以实现这种需求。
注意:当页面配置与全局配置冲突时,根据就近原则,最终的效果以页面配置为准。
例如:
3.页面配置中常用的配置项:
七、网络数据请求
1、小程序中网络数据请求的限制
出于安全性方面的考虑,小程序官方对数据接口的请求做出了如下两个限制:
- 只能请求 HTTPS 类型的接口
- 必须将接口的域名添加到信任列表中
2、配置 request 合法域名
需求描述:假设在自己的微信小程序中,希望请求 https://www.escook.cn 域名下的接口
配置步骤:登录微信小程序管理后台 -> 开发 -> 开发设置 -> 服务器域名 -> 修改 request 合法域名
注意事项:
域名只支持 https 协议
域名不能使用 IP 地址或 localhost
域名必须经过 ICP 备案
服务器域名一个月内最多可申请 5 次修改
3.发起get请求(用于获取数据)
调用微信小程序提供的wx.request()方法可以发起GET数据请求,示例代码如下:
4、发起 POST 请求(用于新增数据)
调用微信小程序提供的 wx.request() 方法,可以发起 POST 数据请求,示例代码如下:
5、在页面刚加载时请求数据
在很多情况下,我们需要在页面刚加载的时候,自动请求一些初始化的数据。此时需要在页面的 onLoad 事件中调用获取数据的函数,示例代码如下:
6.跳过request合法域名校验
如果后端程序员仅仅提供了 http 协议的接口、暂时没有提供 https 协议的接口。
此时为了不耽误开发的进度,我们可以在微信开发者工具中,临时开启「开发环境不校验请求域名、TLS 版本及 HTTPS 证书」选项,跳过 request 合法域名的校验。
注意:
跳过 request 合法域名校验的选项,仅限在开发与调试阶段使用!
7.关于跨域和Ajax的说明
跨域问题只存在于基于浏览器的 Web 开发中。由于小程序的宿主环境不是浏览器,而是微信客户端,所以小程序中不存在跨域的问题。
Ajax 技术的核心是依赖于浏览器中的 XMLHttpRequest 这个对象,由于小程序的宿主环境是微信客户端,所以小程序中不能叫做“发起 Ajax 请求”,而是叫做“发起网络数据请求”。