样式 WXSS
WXSS( WeiXin Style Sheets )是⼀套样式语⾔,⽤于描述 WXML 的组件样式。
与 CSS 相⽐,WXSS 扩展的特性有:
- 响应式⻓度单位
- rpx 样式导⼊
6.1 尺寸单位
(1)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
(2)建议: 开发微信⼩程序时设计师可以⽤ iPhone6 作为视觉稿的标准
(3)使⽤步骤:
- 确定设计稿宽度 pageWidth
- 计算⽐例 750rpx = pageWidth px ,因此 1px=750rpx/pageWidth.
- 在less⽂件中,只要把设计稿中的 px => 750/pageWidth rpx 即可。
- 代码写法
/* width: 200rpx; */
width: calc(700rpx*100/375);
6.2 样式导⼊
- wxss中直接就⽀持,样式导⼊功能。
- 也可以和 less中的导⼊混⽤。
- 使⽤ @import 语句可以导⼊外联样式表,只⽀持相对路径。
示例代码:
/** common.wxss **/
.small-p {
padding:5px;
color:red;
}
/** app.wxss **/
@import "common.wxss";
.middle-p {
padding:15px;
color:blue;
}
6.3 选择器
特别需要注意的是 ⼩程序 不⽀持通配符 * 因此以下代码⽆效!
*{
margin:0;
padding:0;
box-sizing:border-box;
}
6.4 ⼩程序中使⽤less
(1)原⽣⼩程序不⽀持 less ,其他基于⼩程序的框架⼤体都⽀持,如 wepy , mpvue , taro 等。
(2)但是仅仅因为⼀个less功能,⽽去引⼊⼀个框架,肯定是不可取的。因此可以⽤以下⽅式来实现
- 编辑器是 vscode
- 安装插件 easy less
- 在vs code的设置中加⼊如下配置:
"less.compile": {
"outExt": ".wxss"
}