1. 什么是WXSS
WXSS(WeiXin Style Sheets)是一套样式语言
,用于美化WXML的组件样式,类似于网页开发中的CSS。
2. WXSS和CSS的关系
WXSS具有CSS大部分特性,同时,WXSS还对CSS进行了扩充以及修改,以适应微信小程序的开发。 与CSS相比,WXSS扩展的特性有:
- rpx尺寸单位
- @import样式导入
a. 什么是rpx尺寸单位
rpx
(responsive pixel)是微信小程序独有的,用来解决屏适配的尺寸单位
。
b. rpx的实现原理
rpx的实现原理非常简单:鉴于不同设备屏幕的大小不同,为了实现屏幕的自动适配,rpx把所有设备的屏幕,在宽度上等分为了750份
(即:屏幕的总宽度为750rpx
)。
- 在
较小
的设备屏幕上,1rpx所代表的宽度较小
- 在
较大
的设备屏幕上,1rpx所代表的宽度较大
小程序在不同设备运行的时候,会自动把rpx的样式单位换算成对应的像素单位来渲染,从而实现屏幕适配。
c.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 |
iPhone | 1rpx=0.5px | 1px=2rpx |
iPhone6 Plus | 1rpx=0.552px | 1px=1.81rpx |
官方建议:开发微信小程序时,设计师可以用iPhone
作为视觉稿的标准
。
开发举例:在iPhone6上如果要绘制宽100px
,高20px
的盒子,换算成rpx单位,宽高分别是200rpx
和40px
3.样式导入
@import
后跟需要导入的外联样式表的相对路径
,用;表示语句结束。示例如下:
/**common.wxss**/
.small-p{
padding:5px
}
/**app.wxss**/
@import "common.wxss";
.middle-p{
padding:15px;
}
4.全局样式和局部样式
4.1 全局样式
定义在app.wxss
中的样式为全局样式
,作用于每一个页面。
4.2 局部样式
在页面的.wxss
文件中定义的样式为局部样式
,只作用于当前页面。
注意:
a.当局部样式和全局样式冲突时,根据
就近原则
,局部样式会覆盖
全局样式
b.当局部样式的
权重大于或等于
全局样式权重时,才会覆盖全局的样式