适配前:
适配后:
配置方式:
在 pages.json 中 globalStyle 配置中加入:
"rpxCalcMaxDeviceWidth": 750, // rpx 计算所支持的最大设备宽度,单位 px,默认值为 960
"rpxCalcBaseDeviceWidth": 375, // rpx 计算使用的基准设备宽度,设备实际宽度超出 rpx 计算所支持的最大设备宽度时将按基准宽度计算,单位 px,默认值为 375
"rpxCalcIncludeWidth": 750 // rpx 计算特殊处理的值,始终按实际的设备宽度计算,单位 rpx,默认值为 750
若其它还需要适配的可以配合 scss、less 进行适配:
示例代码:
<style lang="scss" scoped>
// 定义设备数值
$breakpoints: (
'phone': (320px, 480px),
'ipad': (540px, 1280px)
);
// sass 混合
@mixin respnseTo($breakname) {
// map-get:从对应键值对中获取数据,
$bp: map-get($breakpoints, $breakname);
// 判断 $bp 是 list,还是单个值
@if type-of($bp) == 'list' {
// 从 list 中获取第一项和第二项数据
$min: nth($bp, 1);
$max: nth($bp, 2);
@media (min-width: $min) and (max-width: $max) {
// @content:混入其他的数据
@content;
}
} @else {
@media (min-width: $bp) {
@content;
}
};
}
.container{
@include respnseTo('phone'){
//手机对应样式
}
@include respnseTo('ipad'){
//pad对应样式
}
}
</style>