【微信小程序】WXML的模板语法与WXSS模板样式(二)

本文涉及的产品
.cn 域名,1个 12个月
简介: 【微信小程序】WXML的模板语法与WXSS模板样式

WXSS模板样式


wxss和css的关系


WXSS具有Css大部分特性,同时, WXSS还对css进行了扩充以及修改,以适应微信小程序的开发。

与CSS相比, WXSS扩展的特性有:


● rpx尺寸单位


● @import 样式导入


rpx


1、rpx的实现原理


rpx的实现原理非常简单:鉴于不同设备屏幕的大小不同,
为了实现屏幕的自动适配,rpx把所有设备的屏幕。
在宽度上等分为750份(即:当前屏幕的总宽度为750rpx) .


  • 在较小的设备上, 1rpx 所代表的宽度较小


  • 在较大的设备上, 1rpx 所代表的宽度较大


小程序在不同设备上运行的时候,会自动把rpx的样式单位换算成对应的像索单位来渲染,从而实现屏幕适配。


2、rpx与px之间的单位换算


在iPhone6上,屏幕宽度为375px,共有750个物理像素,等分为750rpx。则:


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.81px


官方建议:开发微信小程序时。设计师可以用iPhone6作为视觉稿的标准。


开发举例:在iPhone6上如果要给制宽100px。高20px的盒子。
换算成rpx单位,宽高分别为200rpx和40rpx。


样式导入


  • @import的语法格式


@import后跟需要导入的外联样式表的相对路径,用;表示语句结束,示例如下


.small-p{
  padding:5px;
}
@import "common.wxss";
.middle-p{
  padding:15px;
}


  • 全局样式和局部样式


🎞️全局样式:定义在app.wxss中的样式为全局样式,作用于每一个页面


🎞️局部样式:在页面的.wxss文件中定义的样式为局部样式,只作用于当前页面



注意:

①当局部样式和全局样式冲突时,根据就近原则,局部样式会覆盖全局样式

②当局部样式的权重大于或等于全局样式的权重时,才会覆盖全局的样式


全局配置


1、全局配置文件及常用的配置项


小程序根目录下的app.json文件是小程序的全局配置文件。常用的配置项如下:


①pages----->记录当前小程序所有 页面的存放路径


②window----->全局设置小程序窗口的外观


③tabBar----->设置小程序底部的tabBar 效果


④style----->是否启用新版的组件样式


2、window部分的配置项



window节点常用配置项


属性名 类型 默认值 说明
navigationBarTitleText String 字符串 导航栏标题文字内容
navigationBarBackgroundColor HexColor #000000 导航栏背景颜色如#000000
navigationBarTextStyle String white 导航栏标题颜色。仅支持black 1 white
backgroundColor HexColor #fffffff 窗口的背景色
backgroundTextStyle String dark 下拉loading的样式,仅支持dark 1 light
enablePullDownRefresh Boolean false 是否全局开启下拉刷新
onReachBottomDistance Number 50 页面上控触庄事件触发时距页面底部距离,单位为px


使用这些配置项时,在app.json中进行配置



tarBar


1、什么是tarBar


tabBar是移动端应用常见的页面效果,用于实现多页面 的快速切换。小程序中通常将其分为:

  • 底部tabBar
  • 顶部tabBar


注意:

  • tabBar中只能配置最少2个、最多5个tab页签
  • 当渲染顶部tabBar时。不显示icon, 只显示文本



2、tarBar六个组成部分


backgroundColor: tabBar 的背景色

selectedlconPath: 选中时的图片路径

borderstyle: tabBar. 上边框的颜色

iconPath: 未选中时的图片路径

selectedColor: tab. 上的文字选中时的颜色

color: tab. 上文字的默认(未选中)颜色



3. tabBar节点的配置项

属性 类型 必填 默认值 描述
position String bottom tabBar的位置,仅支持bottom/top
borderStyle String black tabBar.上边框的颜色,仅支持black/white
color HexColor tab上文字的默认(未造中)颜色
selectedColor HexColor tab上的文字选中时的颜色
backgroundColor HexColor tabBar的背景色
list Array tab页签的列表,最少2个、最多5个tab


页面配置


1、页面配置文件的作用


小程序中,每个页面都有自己的.json配置文件,用来对当前页面的窗口外观。页面效果等进行配置。


2、页面配置和全局配置的关系


小程序中,appjson 中的window节点,可以全局配置小程序中每个页面的窗口表现


如果某些小程序页面想要拥有特殊的窗口表现,此时,“页面级别的 json配置文件"就可以实现这种需求。


注意:当页面配置与全局配置冲突时,根据就近原则,最终的效果以页面配置为准。


3、页面配置中常用的配置项

属性 类型 献认值 描述
navigationBarBackgroundColor HexColor #00000 当前页面导航栏背景颜色。 如#00000
navigationBarTextStyle String white 当前页面导航栏标题颜色,仅支持black 1 white
navigationBarTitleText String 当前页面导航栏标题文字内容
backgroundColor HexColor #fff 当前页面窗口的背景色
backgroundTextsyle String dark 当前页面下拉loading的样式,仅支持dark 1 light
enablePullDownRefresh Boolean false 是否为当前页面开启下拉刷新的效果
onReachBottomDistance Number 50 页面上拉触底事件触发时距页凰底部距离,单位为px



在实际开发中,不希望在全局开启下拉刷新,那个页面

要刷新,在每个页面单个配置面设置


网络数据请求


1、小程序中网络数据请求的限制


出于安全性方面的考虑,小程序官方对数据接口的请求做出了如下两个限制:


  • 只能请求HTTPS类型的接口


  • 必须将接口的域名添加到信任列表中


2、配置request合法域名


需求描述:假设在自己的微信小程序中,希望请求hts://www.escook.cn/域名下的接口

配置步骤:登录微信小程序管理后台>开发>开发设置>服务器域名>修改request合法域名


注意事项:

①域名只支持https协议

②域名不能使用IP地址或localhost

③域名必须经过ICP备案

④服务器域名一个月内最多可申请5次修改


3、发起GET请求


调用微信小程序提供的wx.request()方法,可以发起GET数据请求,示例代码如下:


 clickGet(){
    wx.request({
      url: 'https://applet-base-api-t.itheima.net/api/get',
      method:'GET',
      data:{
        name:'zs',
        age:20
      },
      success:(res)=>{
        console.log(res.data);
      }
    })
  }


4、发起POST请求


调用微信小程序提供的wx.request()方法,可以发起POST数据请求,示例代码如下


   //发起post数据请求
  clickPost(){
    wx.request({
      url: 'https://applet-base-api-t.itheima.net/api/post',
      method:'POST',
      data:{
        name:'ls',
        age:33
      },
      success:(res)=>{
        console.log(res.data);
      }
    })
  },



5、在页面刚加载时请求数据


在很多情况下,我们需要在页面刚加载的时候,自动请求-些初始化的数据。 此时需要在页面的onLoad事件中调用获取数据的函数


6、关于跨域和Ajax的说明


跨域问题只存在于基于浏览器的Web开发中。由于小程序的宿主环境不是浏览器,而是微信客户端,所以小程序中不存在跨域的问题。


Ajax技术的核心是依赖于浏览器中的XMLHttpRequest这个对象,由于小程序的宿主环境是微信客户端,所以小程序中不能叫做“发起Ajax请求”,而是叫做“发起网络数据请求”.

目录
相关文章
|
2月前
|
小程序 搜索推荐 API
微信小程序:自定义关注公众号组件样式
尽管关注公众号组件的样式固定且不可修改,但产品经理的需求却需要个性化的定制。在这种情况下,我们需要寻找解决方案,以满足这些特殊需求,尽管这可能有点棘手。
68 0
微信小程序:自定义关注公众号组件样式
|
2月前
|
小程序
java--微信小程序发送模板消息
java--微信小程序发送模板消息
121 0
|
4月前
|
小程序
Taro@3.x+Vue@3.x+TS开发微信小程序,根据系统主题展示不同样式(darkMode)
本文介绍如何在Taro项目中配置深色模式。通过在`src/app.config.ts`设置`darkmode`选项和在`theme.json`中定义主题变量,可以实现跟随系统主题的界面风格切换。
111 0
Taro@3.x+Vue@3.x+TS开发微信小程序,根据系统主题展示不同样式(darkMode)
|
5月前
|
小程序
同城拼车社交微信小程序模板源码
同城拼车社交微信小程序模板源码
81 6
|
5月前
|
小程序 前端开发
微信综合购物商城小程序ui模板源码
微信电商小程序前端页面,综合购物商城ui界面模板。主要功能包含:电商主页、商品分类、购物车、购物车结算、我的个人中心管理、礼券、签到、新人专享、专栏、商品详情页、我的订单、我的余额、我的积分、我的收藏、我的地址、我的礼券等。这是一款非常齐全的电商小程序前端模板。
116 4
|
5月前
|
小程序 前端开发
网络祭祀人物微信小程序模板源码
网络祭祀人物微信小程序模板源码
48 5
|
5月前
|
小程序
日常记账微信小程序模板源码
日常记账微信小程序模板源码 模板介绍 一款实用的日常记账微信小程序模板下载。包含:引导页、登录、记账中心、消息、通讯录、个人中心等模块。
68 4
|
2月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
573 7
|
2月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
697 1
|
2月前
|
小程序 前端开发 测试技术
微信小程序的开发完整流程是什么?
微信小程序的开发完整流程是什么?
125 7