样式
rpx单位
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 作为视觉稿的标准。
注意: 在较小的屏幕上不可避免的会有一些毛刺,请在开发时尽量避免这种情况。
- 使用rpx,就不要再使用100%了,在rpx中,750rpx为100%
- 字体单位不要混用,使用rpx去显示字体,否则在ipad上不协调
- 边距尽量用rpx
引入样式
在小程序中,可以在wxss中通过@import
导入样式文件
// 导入根目录下文件styles/common.wxss
@import('/styles/common.wxss')
样式覆盖
在开发中,经常会遇到需要覆盖引入组件库样式的问题,主要通过以下方法进行修改。
外层添加class,增加权重
我们只需要在引入组件上增加一个class属性,并且寻找原组件中需要覆盖的样式。比如以下,我们将checkbox的边框改为金色。
<van-checkbox value="" shape="square" bind:change="onChange" class="checkbox-gold-border"> 复选框 </van-checkbox>
.checkbox-gold-border .van-checkbox__icon{ border:1px solid #ddba85; }
使用
!important
覆盖样式在组件的最外层使用样式
如果遇到如下场景
组件1-子组件1
,在页面上直接调用组件1,我们我们将样式写在子组件1内,会发现样式并不起效。这时,可以采用在组件1上直接添加样式类,这个时候并不需要在子组件1上使用样式类。