@media媒体查询 移动端 px 转换 rem

阅读 56

2022-04-21

@media媒体查询,定义根元素html的font-size,实现移动端 px 转换 rem

  • 致谢原链接 https://www.cnblogs.com/hjptopshow/p/9382448.html ,不过个人直接使用时scss 报错,记录下修后写法。
html {

@media only screen and (min-device-width: 320px) and (-webkit-min-device-pixel-ratio: 2) {

/* 针对iPhone 4, 5c,5s, 所有iPhone6的放大模式,个别iPhone6的标准模式  */

font-size:10px;

}

@media only screen and (min-device-width: 375px)and (-webkit-min-device-pixel-ratio: 2) {

/* 针对大多数iPhone6的标准模式 */

font-size:12px;

}

@media only screen and (min-device-width: 375px)and (-webkit-min-device-pixel-ratio: 3) {

/* 针对所有iPhone6+的放大模式   */

font-size:16px;

}

@media only screen and (min-device-width:412px) and (-webkit-min-device-pixel-ratio: 3) {

/* 针对所有iPhone6+的标准模式,414px写为412px是由于三星Nexus 6为412px,可一并处理   */

font-size:20px;

}
}

但个人常用的自适应单位还是rpx,转化公式为:

官网:

开发者可以通过设计稿基准宽度计算页面元素 rpx 值,设计稿 1px 与框架样式 1rpx 转换公式如下:

设计稿 1px / 设计稿基准宽度 = 框架样式 1rpx / 750rpx

换言之,页面元素宽度在 uni-app 中的宽度计算公式:

750 * 元素在设计稿中的宽度 / 设计稿基准宽度

个人:

let rate = uni.getSystemInfoSync().windowWidth / 750;
elrpx = elpx / rate;

tip:
a / (b / c) = a * c / b


精彩评论(0)

0 0 举报